html5滑动删除置顶,html5向左滑动删除特效

html5向左滑动删除特效

* {

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

}

/*

* 描述: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;

}

}

})

})

消息列表

  • 你的快递到了,请到楼下签收

    删除
  • 哇,你在干嘛,快点来啊就等你了

    删除

写一个js向左滑动删除 交互特效的插件——Html5 touchmove

需求描述 需要实现类似QQ中对联系人的操作:向左滑动,滑出删除按钮.滑动超过一半时松开则自动滑到底,不到一半时松开则返回原处. 纯js实现 使用了h5的touchmove等事件,以及用js动态改变cs ...

android QQ消息左滑动删除实例(优化版SwipeListViewEX)

仿 QQ消息左滑动删除item消息实例 源代码参考:http://blog.csdn.net/gaolei1201/article/details/42677951 自己作了一些调整,全部代码下载地址 ...

iOS边练边学--简单的数据操作&lpar;增、删、改&rpar;,左滑动删除和弹窗

一.数据刷新的原则: 通过修改模型数据,来修改tableView的展示 先修改数据模型 在调用数据刷新方法 不要直接修改cell上面子控件的属性 二.增删改用到的方法: <1>重新绑定屏幕 ...

Taro框架---左滑动删除

index.js import Taro, { Component } from '@tarojs/taro' import { View,ScrollView } from '@tarojs/com ...

IOS uitableviewcell 向左滑动删除编辑等

主要实现这个方法就好了 -(NSArray *)tableView:(UITableView *)tableView editActions ...

IOS UITableViewUITableView小技巧--实现cell向左滑动删除&comma;编辑等功能

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return Y ...

微信小程序左滑删除功能

效果图如下: wxml代码: /** * zepto插件:向左滑动删除动效 * 使用方法:$('.itemWipe').touchWi ...

js 类似于移动端购物车删除,左移动删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML并没有提供实现滑动的标准方式,但可以通过JavaScript或CSS实现。 一种常用的方式是使用CSS3中的transform和transition属性,具体实现方式与上面的回答类似,只需要将overflow-x属性改为hidden即可。 下面是一个示例代码: ``` <div class="container"> <div class="content">需要滑动的内容1</div> <div class="content">需要滑动的内容2</div> <div class="content">需要滑动的内容3</div> </div> <style> .container { overflow-x: hidden; /* 隐藏水平滚动条 */ white-space: nowrap; /* 设置子元素不换行 */ } .content { display: inline-block; /* 设置子元素为行内块元素 */ width: 100px; /* 设置子元素的宽度 */ height: 100px; /* 设置子元素的高度 */ background-color: #ccc; margin-right: 10px; /* 设置子元素之间的间距 */ transform: translateX(0); /* 设置初始位置为0 */ transition: transform .3s ease-out; /* 设置过渡效果 */ } .content:hover { transform: translateX(50px); /* 鼠标悬停时滑动 */ } </style> ``` 在上面的代码中,我们同样定义了一个容器元素.container,并设置它的overflow-x属性为hidden,这样就可以隐藏水平滚动条。 然后在容器元素中添加了三个需要滑动的内容元素,每个元素的宽度为100px,高度为100px,通过设置display:inline-block属性使它们变成行内块元素,并设置margin-right属性为10px,使它们之间有一定的间距。 接下来通过设置.content元素的transform属性,将它们在水平方向上进行位移。初始位置为0,当鼠标悬停在元素上时,通过:hover伪类选择器将元素向右滑动50px。 最后通过设置transition属性来控制滑动的过渡效果,过渡时间为0.3秒,过渡方式为ease-out。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值