Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >web移动端左滑显示操作按钮

web移动端左滑显示操作按钮

作者头像
治电小白菜
修改于 2023-09-23 07:13:58
修改于 2023-09-23 07:13:58
96300
代码可运行
举报
文章被收录于专栏:技术综合技术综合
运行总次数:0
代码可运行

体验地址 https://codepen.io/klren0312/full/PoYWJgM

示例

2

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    body {
      padding: 0;
      margin: 0 auto;
    }
    .container {
      padding: 20px;
      height: 100vh;
      background: #efefef;
    }
    .item {
      position: relative;
      height: 50px;
      margin-bottom: 20px;
      overflow: hidden;
      background: #fff;
    }
    .item .content {
      position: absolute;
      left: 0;
      width: 100%;
      height: 100%;
      padding-left: 20px;
      line-height: 50px;
      z-index: 1;
      box-sizing: border-box;
      background: #fff;
      border: 1px solid #ddd;
      transition: all .5s ease;
    }
    .item .button-group {
      position: absolute;
      right: 0;
      z-index: 0;
    }
    .item .button-group .del-btn {
      height: 50px;
      width: 60px;
      border: 0;
      color: #fff;
      background: #da3d3d;
    }
    .item.active .content {
      left: -60px;
    }
  </style>
</head>
<body>
  <div class="container">
    <!-- 0 默认状态, 1 左滑状态 -->
    <div class="item" data-status='0'>
      <div class="content">测试内容测试内容</div>
      <div class="button-group">
        <button class="del-btn">删除</button>
      </div>
    </div>
    <div class="item" data-status='0'>
      <div class="content">测试内容测试内容</div>
      <div class="button-group">
        <button class="del-btn">删除</button>
      </div>
    </div>
    <div class="item" data-status='0'>
      <div class="content">测试内容测试内容</div>
      <div class="button-group">
        <button class="del-btn">删除</button>
      </div>
    </div>
    <div class="item" data-status='0'>
      <div class="content">测试内容测试内容</div>
      <div class="button-group">
        <button class="del-btn">删除</button>
      </div>
    </div>
  </div>
  <script>
    const items = document.querySelectorAll('.item')
    items.forEach(item => {
      let touchStart, touchEnd
      // 滑动开始, 记录开始位置
      item.addEventListener('touchstart', function (e) {
        touchStart = e.touches[0].clientX
      })
      // 滑动结束
      item.addEventListener('touchend', function (e) {
        let currentEle = e.currentTarget
        touchEnd = e.changedTouches[0].clientX
        // 向左滑, 显示删除按钮
        if (currentEle.dataset.status === '0' && touchEnd - touchStart < -30) {
          currentEle.dataset.status = 1
          currentEle.classList.add('active')
        }
        // 向右滑, 隐藏删除按钮
        if (currentEle.dataset.status === '1' && touchEnd - touchStart > 30) {
          currentEle.dataset.status = 0
          currentEle.classList.remove('active')
        }
      })
    })

    const btns = document.querySelectorAll('.del-btn')
    btns.forEach(btn => {
      // 删除按钮点击事件
      btn.addEventListener('click', function (e) {
        btn.parentElement.parentElement.remove()
      })
    })
  </script>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
移动端拖动滑块验证
因为移动端使用的是touch事件:https://developer.mozilla.org/zh-CN/docs/Web/API/TouchEvent
阿超
2023/01/16
1.8K0
移动端轮播图笔记
移动端浏览器兼容性好,我们不需要考虑以前JS的兼容问题,可以放心使用原生JS书写效果,但是移动端也有自己独特的地方,比如触屏事件touch(也叫触摸事件),Android和IOS都有。
帅的一麻皮
2020/05/07
2.5K0
原 canvas小案例集合(小画板、画的回
作者:汪娇娇 日期:2016.12.8 在现在这个公司呆了4个多月,也是研究了canvas将近4个月,前两周心里就痒痒的想写这方面的博客,但一直没时间。可一直拖着也不是个办法,就这样抽抽空来写吧。 c
jojo
2018/05/03
1.4K1
原                                                                                canvas小案例集合(小画板、画的回
拖放实现--兼容手机与pc端 原
拖放是一种非常流行的用户界面模式。它的概念很简单:点击某个对象,并按住鼠标按钮不放,将鼠标移到到另一个区域,然后释放按钮将对象放到这里。 拖放的基本概念很简单:创建一个绝对定位的元素,使其可以用鼠标移到。
tianyawhl
2019/04/04
1.2K0
pc端与移动端的事件总结
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> body{ margin: 0px; } #test,#test1,#test2,#test3,#test4{ position:absolute; cursor:pointer; } #test{ width:300px; height:300px; background:goldenrod; } #test1{ wi
前朝楚水
2018/04/02
1.5K0
10-移动端开发教程-移动端事件
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。
老马
2018/02/18
6.9K0
10-移动端开发教程-移动端事件
从零开始学 Web 之 移动Web(二)JD移动端网页,移动触屏事件
要实现轮播图,必须在首尾添加图片,如果直接在 html 代码直接添加图片的话,由于图片的数量是不固定的,那么每次图片的数量发生改变的话,不仅需要设置 html 的源码,而且还要设置对应的 css 代码,所以,为了从后台获取的图片数量不固定的情况下,也能够实现轮播效果,我们可以使用 js 来动态的添加图片。
Daotin
2018/08/31
2.7K0
从零开始学 Web 之 移动Web(二)JD移动端网页,移动触屏事件
【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 构建用户界面(二)
添加交互可以通过在组件上关联事件实现。本节将介绍如何用div、text、image组件关联click事件,构建一个如下图所示的点赞按钮。
枫叶丹
2025/02/04
600
【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 构建用户界面(二)
JS 模拟手机页面文件的下拉刷新
要在仿真器下才能看到效果,比如chrome的里边(或者用手机浏览器查看,但测试发现有些浏览器有问题,目前手机猎豹是没问题的)
书童小二
2018/09/03
14.1K0
JS 模拟手机页面文件的下拉刷新
【Web开发】纯前端实现科技企业官网首页
本篇博文简单实现一个科技类产品官网的主页,图片素材来自于苹果官网。 相关教程参考自https://www.bilibili.com/video/BV117411n7R1 源代码下载:https://download.csdn.net/download/qq1198768105/85630862
zstar
2022/06/14
1.2K0
【Web开发】纯前端实现科技企业官网首页
移动端web开发笔记
这是一个最好的时代,因为我们站在潮流中;但也是一个最坏的时代,因为我们站在潮头上。 META相关
李维亮
2021/07/09
3.7K0
移动端web开发笔记
移动端左滑右滑组件
最近有个需求,移动端有导航,需要左滑右滑的时候就能切换导航,跟轮播一样的效果,但是轮播内容少,而且是一次性加载数据。而需求是很多类型,每个类型有非常多的列表,如果使用轮播,一次性加载数据太多,再加上分页,那就完全行不通。
wade
2020/04/24
1.1K0
原生HTML+CSS+JS制作自己的导航主页(前端大作业,源码+步骤详解)
咕咕了好久啦,今天使用原生HTML+CSS+JS做一个很简单的个人定制的导航主页吧!
全栈程序员站长
2022/09/15
7K2
原生HTML+CSS+JS制作自己的导航主页(前端大作业,源码+步骤详解)
原生JS实现移动端滑动反弹
什么是 Touch滑动?就是类似于 PC端的滚动事件,但是在移动端是没有滚动事件的,所以就要用到 Touch事件结合 js去实现,效果如下:
grain先森
2019/03/29
10.6K0
原生JS实现移动端滑动反弹
底部悬浮框 上拉和下拉功能
实现一个通过触摸拖动操作来展开和收起底部悬浮框,并根据拖动过程中的位置和状态来调整底部容器的高度和展开状态的功能
王小婷
2023/08/15
2570
从零开始学 Web 之 移动Web(九)微金所案例
相关源代码已放置github:https://github.com/Daotin/Web/blob/master/Code/src/11/wjs.zip
Daotin
2018/08/31
1.5K0
从零开始学 Web 之 移动Web(九)微金所案例
【组件篇】ionic3分组索引及锚点滚动列表
好久没有写文章了,趁着吃完饭消化的时候打算写一篇。先前一篇文章提到并关注的capacitor终于出到1.0.0-alpha.5了,本想写它,但是内容比较多,所以先放一下,写别的。
IT晴天
2018/08/20
1.5K0
Vue.js|Nuxt仿制探探堆叠滑动|vue仿Tinder卡片效果
点击右上角筛选按钮,在侧边会出现弹窗。里面的范围滑块、switch开关、Rate评分等组件则是使用Vant组件库。
andy2018
2020/10/13
5.4K0
Vue.js|Nuxt仿制探探堆叠滑动|vue仿Tinder卡片效果
蒙层禁止页面滚动的方案
弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互。但是在蒙层出现的时候滚动页面,如果不加处理,蒙层底部的页面会开始滚动,实际上我们是不希望他进行滚动的,因此需要阻止这种行为。当弹出蒙层时禁止蒙层下的页面滚动,也可以称为滚动穿透的问题,文中介绍了一些常用的解决方案。
WindRunnerMax
2022/05/06
6.4K0
移动端效果之IndexList
写在前面 接着前面的移动端效果讲,这次讲解的的是IndexList的实现原理。效果如下: 代码请看这里:github 移动端效果之swiper 移动端效果之picker 移动端效果之cellSwipe
糊糊糊糊糊了
2018/05/09
9760
移动端效果之IndexList
相关推荐
移动端拖动滑块验证
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验