仿QQ列表左滑删除
一直想写个仿QQ通讯列表左滑删除的效果,今天终于忙里偷闲,简单一个.
大概思路是这样的:
通过
ontouchstart
ontouchmove
ontouchend
结合css3的平移.
不多说,直接上demo,如有错误希望看客老爷雅正.
html:
- <div class="contain">
- <ul>
- <li>
- <div id="list" class="list">
- <div class="list_lf"><p>列表1</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表2</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表3</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表4</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表5</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表6</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表7</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- <li>
- <div class="list">
- <div class="list_lf"><p>列表8</p></div>
- <div class="list_rt"><p>删除</p></div>
- </div>
- </li>
- </ul>
- </div>
css:
- .contain{
- width: 200px;
- height: 500px;
- margin: 100px auto;
- border: 1px solid #dcdcdc;
- background-color: #f5f5f5;
- }
- .contain ul {
- margin: 0;
- padding: 0;
- float: left;
- list-style: none;
- }
- .contain ul li{
- position: relative;
- width: 200px;
- height: 50px;
- border-bottom: 1px solid #000;
- overflow: hidden;
- }
- .contain ul li .list{
- position: absolute;
- top: 0;
- left: 0;
- width: 251px;
- height: 100%;
- overflow: hidden;
- }
- .contain ul li .list div{
- float: left;
- }
- .contain ul li .list .list_lf{
- width: 200px;
- overflow: hidden;
- }
- .contain ul li .list .list_lf p{
- width: 180px;
- padding-left: 20px;
- }
- .contain ul li .list .list_rt{
- width: 50px;
- border-left: 1px solid #dcdcdc;
- text-align: center;
- }
js:
- var li = document.getElementById('list'),
- spirit, startX, startY, x;
- // touch start listener
- function touchStart(event) {
- event.preventDefault();
- if (! event.touches.length) return;
- var touch = event.touches[0];
- startX = touch.pageX;
- startY = touch.pageY;
- }
- // add touch start listener
- li.addEventListener("touchstart", touchStart, false);
- function touchMove(event) {
- event.preventDefault();
- if (!event.touches.length) return;
- var touch = event.touches[0];
- x = touch.pageX - startX;
- // y = touch.pageY - startY;
- console.log(x);
- li.style.webkitTransform = 'translate(' + x + 'px)';
- }
- li.addEventListener("touchmove", touchMove, false);
- function touchEnd(event){
- if (x<0&&x>-30) {
- li.style.webkitTransform = 'translate(-51px)';
- }
- if (x<-30) {
- li.style.webkitTransform = 'translate(-51px)';
- };
- if (x>0) {
- li.style.webkitTransform = 'translate(0px)';
- };
- }
- li.addEventListener("touchend", touchEnd, false);
等有时间再继续完善..原创,勿转.谢谢
仿QQ列表左滑删除的更多相关文章
- 类似QQ消息左滑删除的Demo
最近在网上学到一篇类似QQ消息左滑删除的demo,完善了下代码,感觉还不错,特此分享一波: CustomSwipeListView.java 是个继承自ListView的类,里面调用了自定义View ...
- 使用zepto实现QQ消息左滑删除效果
有这样一个需求: 1. 有一个列表,将每一个列表项左滑动出现删除按钮: 2. 右滑动隐藏删除按钮: 3. 点击这个删除按钮删除该列表项. 完成以后的效果: 这是微信网页端的页面,使用的是 zepto ...
- Android ListView实现仿iPhone实现左滑删除按钮
需要自定义ListView.这里就交FloatDelListView吧. 复写onTouchEvent方法.如下: @Override public boolean onTouchEvent(Moti ...
- Android开发学习之路-PopupWindow和仿QQ左滑删除
这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...
- android QQ消息左滑动删除实例(优化版SwipeListViewEX)
仿 QQ消息左滑动删除item消息实例 源代码参考:http://blog.csdn.net/gaolei1201/article/details/42677951 自己作了一些调整,全部代码下载地址 ...
- js高仿QQ消息列表左滑功能
该组件,主要功能类似于QQ消息列表左滑出现删除.标为已读等按钮的功能:现在的版本用的是纯javaScript编写:后续会跟进 angularJs 开发的类似组件以及jquery的; 下面,就让我们来认 ...
- [转]ANDROID仿IOS微信滑动删除_SWIPELISTVIEW左滑删除例子
转载:http://dwtedx.sinaapp.com/itshare_290.html 本例子实现了滑动删除ListView的Itemdemo的效果.大家都知道.这种创意是来源于IOS的.左滑删除 ...
- Android滑动列表(拖拽,左滑删除,右滑完成)功能实现(1)
场景: 近期做的TODO APP需要在主页添加一个功能,就是可以左滑删除,右滑完成.看了一下当前其他人做的例如仿探探式的效果,核心功能基本一样,但是和我预想的还是有少量区别,于是干脆自己重头学一遍如何 ...
- [Phonegap+Sencha Touch] 移动开发72 List列表横向滑动操作(仿QQ列表滑动删除)
原文链接:http://blog.csdn.net/lovelyelfpop/article/details/50425744 本插件有2个版本号:sencha touch 版本号和 extjs6 m ...
随机推荐
- Arguments Optional
function add() { //return false; if(typeof arguments[0] !== "number" || arguments.length & ...
- RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA
环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterpris ...
- iOS.DistributionApp.0-build-adhoc-distribution-for-tester
Build adhoc distribution for tester 1. 提供App测试包 1.1 提供测试包的步骤 Ref[8] A: 注册所有的测试设备 B: 将App进行归档 C: 用ad ...
- iOS.Performance-trick-presentViewController-is-so-slow-in-didSelectRowAtIndexPath
presentViewController is so slow in "tableView:didSelectRowAtIndexPath:" Use Case: 在UITabl ...
- Oracle 12c 的新功能:模式匹配查询
模式匹配SQL 在一系列的数据行中辨识出某种模式是一种广泛需求的功能,但在以前的SQL中是不可能的.有许多解决方法,但这些都很难写,很难理解,而且执行效率低下.在Oracle数据库中,从12c开始,你 ...
- iOS Xcode添加ios10.0的路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- System.Security.SecurityException The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception
[15/08/19 00:03:10] [DataManager-7292-ERROR] System.Reflection.TargetInvocationException: Exception ...
- php设计模式 Proxy (代理模式)
代理,指的就是一个角色代表另一个角色采取行动,就象生活中,一个红酒厂商,是不会直接把红酒零售客户的,都是通过代理来完成他的销售业务.而客户,也不用为了喝红酒而到处找工厂,他只要找到厂商在当地的代理就行 ...
- 一个Email
Email 1.接受表单数据并用单独变量保存起来,判断用户协议,这个是必须同意的.2.判断验证码,利用验证码类Captcha.3.判断用户名,密码,邮箱规则,利用Verify类验证.4.判断唯一性,邮 ...
- 关于几种编码详解(Unicode,UTF-8,GB系列)
最近学Python,老是被编码的问题搞得晕乎乎的,晚上看了好多篇博客,整理出来一个比较清晰的关于几种编码以及字符集的思路. 主要参考:http://blog.sina.com.cn/s/blog_6d ...