zoukankan      html  css  js  c++  java
  • 手机侧滑事件

    手机侧滑事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1">
        <title> 手机侧滑事件</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; width: 80px}
        </style>
        <script>
           
            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)";
                        }else{
                            obj.style.WebkitTransform = "translateX(" + -80 + "px)";
                        }
                    }
                 })
    
            })
    
        </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>
  • 相关阅读:
    Codeforces 845E Fire in the City 线段树
    Codeforces 542D Superhero's Job dp (看题解)
    Codeforces 797F Mice and Holes dp
    Codeforces 408D Parcels dp (看题解)
    Codeforces 464D World of Darkraft
    Codeforces 215E Periodical Numbers 容斥原理
    Codeforces 285E Positions in Permutations dp + 容斥原理
    Codeforces 875E Delivery Club dp
    Codeforces 888F Connecting Vertices 区间dp (看题解)
    Codeforces 946F Fibonacci String Subsequences dp (看题解)
  • 原文地址:https://www.cnblogs.com/wzzl/p/5084906.html
Copyright © 2011-2022 走看看