• H5左侧滑删除简单实现


    简单的左滑删除

    实现功能

    在一个列表的一条中,往左滑动时,右边出现删除按钮,点击可删除这一条

    实现办法

    列表中一项为父div,其中包含内容div和删除按钮span 父div相对定位,设置宽度.内容div宽度与父div宽度一样.内容和按钮都绝对定位,并且内容zindex在按钮之上 这样,就将按钮遮住了.然后在内容上绑定touchstart和touchmove事件.计算坐标的移动判断出是左还是右. 根据左和右来改变内容的left值.当内容的left值向左移动一段距离,那么删除按钮就露出来了.可将这段距离设为 删除按钮的宽度.当内容向右移动时,再将left值设为0.这样就实现了.


    点击绿色查看效果

    第一条
    删除
     
    CSS:
      .moveleft{
                transform:translateX(-50px);/*改变位置时,可以添加或删除这个C3类.效果是水平移动50像素.正负表示方向*/
            }
            .itembox {
                position:relative;/*父DIV相对定位*/
                width: 400px;/*要设置宽度*/
                font-size:16px;
            }
            .itemcont {
                z-index:1;/*内容层在按钮上*/
                position:absolute;/*绝对定位*/
                width: 400px;/*与父DIV宽度一样*/
                height: 34px;
                line-height: 34px;
                background-color:green;
            }
    
            .itemdelbtn {
                position:absolute;/*绝对定位*/
                right:0;top:0;/*在最右边*/
                display: inline-block;
                width: 50px;
                height: 34px;
                text-align: center;
                line-height: 34px;
                background-color: red;
            }
    View Code
    js:
     1  function moveleft(thisobj)
     2             {
     3             var p = $(thisobj).position();
     4             if (p.left < 0)
     5                 thisobj.style.left=0+'px';
     6             else
     7                 thisobj.style.left = -50+'px';
     8         }
     9         (function TouchLeft()
    10         {
    11             var startX, startY, moveEndX, moveEndY, X, Y;
    12             $(".itemcont").on("touchstart", function (e)
    13             {
    14                  //e.preventDefault();
    15                 startX = e.originalEvent.changedTouches[0].pageX,
    16                 startY = e.originalEvent.changedTouches[0].pageY;
    17             });
    18             $(".itemcont").on("touchmove", function (e)
    19             {
    20                  //e.preventDefault();
    21                 moveEndX = e.originalEvent.changedTouches[0].pageX,
    22                 moveEndY = e.originalEvent.changedTouches[0].pageY,
    23                 X = moveEndX - startX,
    24                 Y = moveEndY - startY;
    25 
    26                 if (Math.abs(X) > Math.abs(Y) && X < 0) {  //从右侧向左滑动
    27                     $(this).css('left', '-50px');
    28                 } else if (Math.abs(X) > Math.abs(Y) && X > 0) { $(this).css('left', '0'); }
    29             });
    30         })()
    View Code

  • 相关阅读:
    中移动ipv6-老毛子固件获取ipv6设置
    win7-win10 禁用IPV6临时地址
    辅助调用函数【call,apply,bind】
    Unraid修改docker镜像地址&默认启动
    docker基本入门知识-小白向
    [不止于代码]Unraid基本使用速记
    Dockerfile文件说明
    Git之pull,fetch差别
    代码片段添加智能提示,打造一款人见人爱的ORM框架
    新定义三层,指挥官模式
  • 原文地址:https://www.cnblogs.com/mirrortom/p/7384238.html
Copyright © 2020-2023  润新知