zoukankan      html  css  js  c++  java
  • html5向左滑动删除特效

    <!DOCTYPE html>

    <html lang="en">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1">
    <title>html5向左滑动删除特效</title>
    <style>
    * {
    padding: 0;
    margin: 0;
    list-style: none;
    }

    header {
    background: #f7483b;
    border-bottom: 1px solid #ccc
    }

    header h2 {
    text-align: center;
    line-height: 54px;
    font-size: 16px;
    color: #fff
    }

    .list-ul {
    overflow: hidden
    }

    .list-li {
    line-height: 60px;
    border-bottom: 1px solid #fcfcfc;
    position: relative;
    padding: 0 12px;
    color: #666;
    background: #f2f2f2;
    -webkit-transform: translateX(0px);
    }

    .btn {
    position: absolute;
    top: 0;
    right: -80px;
    text-align: center;
    background: #ffcb20;
    color: #fff;
    80px
    }
    </style>
    <script>
    /*
    * 描述:html5苹果手机向左滑动删除特效
    */
    window.addEventListener('load', function() {
    var initX; //触摸位置
    var moveX; //滑动时的位置
    var X = 0; //移动距离
    var objX = 0; //目标对象位置
    window.addEventListener('touchstart', function(event) {
    event.preventDefault();
    var obj = event.target.parentNode;
    if (obj.className == "list-li") {
    initX = event.targetTouches[0].pageX;
    objX = (obj.style.WebkitTransform.replace(/translateX(/g, "").replace(/px)/g, "")) * 1;
    }
    if (objX == 0) {
    window.addEventListener('touchmove', function(event) {
    event.preventDefault();
    var obj = event.target.parentNode;
    if (obj.className == "list-li") {
    moveX = event.targetTouches[0].pageX;
    X = moveX - initX;
    if (X >= 0) {
    obj.style.WebkitTransform = "translateX(" + 0 + "px)";
    } else if (X < 0) {
    var l = Math.abs(X);
    obj.style.WebkitTransform = "translateX(" + -l + "px)";
    if (l > 80) {
    l = 80;
    obj.style.WebkitTransform = "translateX(" + -l + "px)";
    }
    }
    }
    });
    } else if (objX < 0) {
    window.addEventListener('touchmove', function(event) {
    event.preventDefault();
    var obj = event.target.parentNode;
    if (obj.className == "list-li") {
    moveX = event.targetTouches[0].pageX;
    X = moveX - initX;
    if (X >= 0) {
    var r = -80 + Math.abs(X);
    obj.style.WebkitTransform = "translateX(" + r + "px)";
    if (r > 0) {
    r = 0;
    obj.style.WebkitTransform = "translateX(" + r + "px)";
    }
    } else { //向左滑动
    obj.style.WebkitTransform = "translateX(" + -80 + "px)";
    }
    }
    });
    }

    })
    window.addEventListener('touchend', function(event) {
    event.preventDefault();
    var obj = event.target.parentNode;
    if (obj.className == "list-li") {
    objX = (obj.style.WebkitTransform.replace(/translateX(/g, "").replace(/px)/g, "")) * 1;
    if (objX > -40) {
    obj.style.WebkitTransform = "translateX(" + 0 + "px)";
    objX = 0;
    } else {
    obj.style.WebkitTransform = "translateX(" + -80 + "px)";
    objX = -80;
    }
    }
    })
    })
    </script>
    </head>

    <body>
    <header>
    <h2>消息列表</h2>
    </header>
    <section class="list">
    <ul class="list-ul">
    <li id="li" class="list-li">
    <div class="con">
    你的快递到了,请到楼下签收
    </div>
    <div class="btn">删除</div>
    </li>
    <li class="list-li">
    <div class="con">
    哇,你在干嘛,快点来啊就等你了
    </div>
    <div class="btn">删除</div>
    </li>
    </ul>
    </section>
    </body>

    </html>

  • 相关阅读:
    教你玩转CSS的所有字体,路过的来瞧一瞧。
    CSS基本语法?
    怎么样才能玩转前端所有的CSS背景相关问题?
    如何玩转CSS内部样式表与外部样式表?
    什么是CSS?你真的理解了吗?
    CSS页面demo
    HTML教程(看完这篇就够了)
    HTML5新增的主体结构元素
    Math
    练习点菜及用的公式
  • 原文地址:https://www.cnblogs.com/zhouyx/p/5594578.html
Copyright © 2011-2022 走看看