<!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;120%;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;}
.list li i{float:right;15%;text-align:center;background:
#E2421B;color:#fff;}
.swipeleft{transform:translateX(-15%);-webkit-transform:translateX(-15%);}
</style>
<script>
function
resizeRoot(){
var
deviceWidth = document.documentElement.clientWidth,
num = 750,
num1 = num / 100;
if
(deviceWidth > num){
deviceWidth = num;
}
document.documentElement.style.fontSize = deviceWidth / num1 +
"px"
;
}
resizeRoot();
window.onresize =
function
(){
resizeRoot();
};
</script>
</head>
<body>
<section>
<div class=
"list"
>
<ul>
<li><a href=
"#"
rel=
"external nofollow"
rel=
"external nofollow"
rel=
"external nofollow"
>侧滑显示删除按钮1<i>删除</i></a></li>
<li><a href=
"#"
rel=
"external nofollow"
rel=
"external nofollow"
rel=
"external nofollow"
>侧滑显示删除按钮2<i>删除</i></a></li>
<li><a href=
"#"
rel=
"external nofollow"
rel=
"external nofollow"
rel=
"external nofollow"
>侧滑显示删除按钮3<i>删除</i></a></li>
</ul>
</div>
<script>
var
expansion =
null
;
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>