侧滑按钮样式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>js侧滑显示删除按钮</title> <style> *{margin:0;padding:0;} body{font-size:.14rem;} li{list-style:none;} i{font-style:normal;} a{color:#393939;text-decoration:none;} .list{overflow:hidden;margin-top:.2rem;padding-left:.3rem;border-top:1px solid #ddd;} .list li{overflow:hidden;width:144%;border-bottom:1px solid #ddd;} .list li a{display:block;height:.88rem;line-height:.88rem;-webkit-transition:all 0.3s linear;transition:all 0.3s linear;} .dell{float:right;width:15%;text-align:center;background:#E2421B;color:#fff;} .edit{float:right;width:15%;text-align:center;background:#0088A8;color:#fff;} .swipeleft{transform:translateX(-30%);-webkit-transform:translateX(-30%);} </style> <script> //计算根节点HTML的字体大小 function resizeRoot(){ var deviceWidth = document.documentElement.clientWidth, num = 750, num1 = num / 100; if(deviceWidth > num){ deviceWidth = num; } document.documentElement.style.fontSize = deviceWidth / num1 + "px"; } //根节点HTML的字体大小初始化 resizeRoot(); window.onresize = function(){ resizeRoot(); }; </script> </head> <body> <section> <div class="list"> <ul> <li><a href="##" >侧滑显示删除按钮1<div class="dell">删除</div><div class="edit">编辑</div></a></li> <li><a href="##" >侧滑显示删除按钮2<i>删除</i></a></li> <li><a href="##" >侧滑显示删除按钮3<i>删除</i></a></li> </ul> </div> <script> //侧滑显示删除按钮 var expansion = null; //是否存在展开的list var container = document.querySelectorAll(‘.list li a‘); for(var i = 0; i < container.length; i++){ var x, y, X, Y, swipeX, swipeY; container[i].addEventListener(‘touchstart‘, function(event) { x = event.changedTouches[0].pageX; y = event.changedTouches[0].pageY; swipeX = true; swipeY = true ; if(expansion){ //判断是否展开,如果展开则收起 expansion.className = ""; } }); container[i].addEventListener(‘touchmove‘, function(event){ X = event.changedTouches[0].pageX; Y = event.changedTouches[0].pageY; // 左右滑动 if(swipeX && Math.abs(X - x) - Math.abs(Y - y) > 0){ // 阻止事件冒泡 event.stopPropagation(); if(X - x > 10){ //右滑 event.preventDefault(); this.className = ""; //右滑收起 } if(x - X > 10){ //左滑 event.preventDefault(); this.className = "swipeleft"; //左滑展开 expansion = this; } swipeY = false; } // 上下滑动 if(swipeY && Math.abs(X - x) - Math.abs(Y - y) < 0) { swipeX = false; } }); } </script> </body> </html>
转载原文地址:https://www.cnblogs.com/qiuchuanji/p/7883944.html
*{margin:0;padding:0;}li{list-style:none;}i{font-style:normal;}a{color:#393939;text-decoration:none;}.list{overflow:hidden;margin-top:.2rem;padding-left:10px;}.list li{overflow:hidden;width:144%;border-bottom:1px solid #ddd;}.list li a{display:block;height:88px;-webkit-transition:all 0.3s linear;transition:all 0.3s linear;}.dell{float:right;width:15%;text-align:center;background:#FF3333;color:#fff;line-height: 88px;height: 88px;}.edit{float:right;width:15%;text-align:center;background:#FFBB00;color:#fff;line-height: 88px;height: 88px;}.swipeleft{transform:translateX(-30%);-webkit-transform:translateX(-30%);}