一直想写个仿QQ通讯列表左滑删除的效果,今天终于忙里偷闲,简单一个.

大概思路是这样的:

通过

ontouchstart
ontouchmove
ontouchend

结合css3的平移.

不多说,直接上demo,如有错误希望看客老爷雅正.

html:

  1. <div class="contain">
  2. <ul>
  3. <li>
  4. <div id="list" class="list">
  5. <div class="list_lf"><p>列表1</p></div>
  6. <div class="list_rt"><p>删除</p></div>
  7. </div>
  8. </li>
  9. <li>
  10. <div class="list">
  11. <div class="list_lf"><p>列表2</p></div>
  12. <div class="list_rt"><p>删除</p></div>
  13. </div>
  14. </li>
  15. <li>
  16. <div class="list">
  17. <div class="list_lf"><p>列表3</p></div>
  18. <div class="list_rt"><p>删除</p></div>
  19. </div>
  20. </li>
  21. <li>
  22. <div class="list">
  23. <div class="list_lf"><p>列表4</p></div>
  24. <div class="list_rt"><p>删除</p></div>
  25. </div>
  26. </li>
  27. <li>
  28. <div class="list">
  29. <div class="list_lf"><p>列表5</p></div>
  30. <div class="list_rt"><p>删除</p></div>
  31. </div>
  32. </li>
  33. <li>
  34. <div class="list">
  35. <div class="list_lf"><p>列表6</p></div>
  36. <div class="list_rt"><p>删除</p></div>
  37. </div>
  38. </li>
  39. <li>
  40. <div class="list">
  41. <div class="list_lf"><p>列表7</p></div>
  42. <div class="list_rt"><p>删除</p></div>
  43. </div>
  44. </li>
  45. <li>
  46. <div class="list">
  47. <div class="list_lf"><p>列表8</p></div>
  48. <div class="list_rt"><p>删除</p></div>
  49. </div>
  50. </li>
  51. </ul>
  52. </div>

css:

  1. .contain{
  2. width: 200px;
  3. height: 500px;
  4. margin: 100px auto;
  5. border: 1px solid #dcdcdc;
  6. background-color: #f5f5f5;
  7. }
  8. .contain ul {
  9. margin: 0;
  10. padding: 0;
  11. float: left;
  12. list-style: none;
  13. }
  14. .contain ul li{
  15. position: relative;
  16. width: 200px;
  17. height: 50px;
  18. border-bottom: 1px solid #000;
  19. overflow: hidden;
  20. }
  21. .contain ul li .list{
  22. position: absolute;
  23. top: 0;
  24. left: 0;
  25. width: 251px;
  26. height: 100%;
  27. overflow: hidden;
  28. }
  29. .contain ul li .list div{
  30. float: left;
  31. }
  32. .contain ul li .list .list_lf{
  33. width: 200px;
  34. overflow: hidden;
  35. }
  36. .contain ul li .list .list_lf p{
  37. width: 180px;
  38. padding-left: 20px;
  39. }
  40. .contain ul li .list .list_rt{
  41. width: 50px;
  42. border-left: 1px solid #dcdcdc;
  43. text-align: center;
  44. }

  js:

  1. var li = document.getElementById('list'),
  2.        spirit, startX, startY, x;
  3.     // touch start listener
  4.  
  5. function touchStart(event) {
  6.          event.preventDefault();
  7.          if (! event.touches.length) return;
  8.          var touch = event.touches[0];
  9.          startX = touch.pageX;
  10.          startY = touch.pageY;
  11. }
  12.  
  13. // add touch start listener
  14. li.addEventListener("touchstart", touchStart, false);
  15.  
  16. function touchMove(event) {
  17.          event.preventDefault();
  18.          if (!event.touches.length) return;
  19.          var touch = event.touches[0];
  20. x = touch.pageX - startX;
  21. // y = touch.pageY - startY;
  22. console.log(x);  
  23. li.style.webkitTransform = 'translate(' + x + 'px)';
  24. }
  25.  
  26. li.addEventListener("touchmove", touchMove, false);
  27.  
  28. function touchEnd(event){
  29. if (x<0&&x>-30) {
  30. li.style.webkitTransform = 'translate(-51px)';
  31. }
  32. if (x<-30) {
  33. li.style.webkitTransform = 'translate(-51px)';
  34. };
  35. if (x>0) {
  36. li.style.webkitTransform = 'translate(0px)';
  37. };
  38. }
  39.  
  40. li.addEventListener("touchend", touchEnd, false);

  等有时间再继续完善..原创,勿转.谢谢

仿QQ列表左滑删除的更多相关文章

  1. 类似QQ消息左滑删除的Demo

    最近在网上学到一篇类似QQ消息左滑删除的demo,完善了下代码,感觉还不错,特此分享一波: CustomSwipeListView.java 是个继承自ListView的类,里面调用了自定义View ...

  2. 使用zepto实现QQ消息左滑删除效果

    有这样一个需求: 1. 有一个列表,将每一个列表项左滑动出现删除按钮: 2. 右滑动隐藏删除按钮: 3. 点击这个删除按钮删除该列表项. 完成以后的效果: 这是微信网页端的页面,使用的是 zepto ...

  3. Android ListView实现仿iPhone实现左滑删除按钮

    需要自定义ListView.这里就交FloatDelListView吧. 复写onTouchEvent方法.如下: @Override public boolean onTouchEvent(Moti ...

  4. Android开发学习之路-PopupWindow和仿QQ左滑删除

    这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...

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

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

  6. js高仿QQ消息列表左滑功能

    该组件,主要功能类似于QQ消息列表左滑出现删除.标为已读等按钮的功能:现在的版本用的是纯javaScript编写:后续会跟进 angularJs 开发的类似组件以及jquery的; 下面,就让我们来认 ...

  7. [转]ANDROID仿IOS微信滑动删除_SWIPELISTVIEW左滑删除例子

    转载:http://dwtedx.sinaapp.com/itshare_290.html 本例子实现了滑动删除ListView的Itemdemo的效果.大家都知道.这种创意是来源于IOS的.左滑删除 ...

  8. Android滑动列表(拖拽,左滑删除,右滑完成)功能实现(1)

    场景: 近期做的TODO APP需要在主页添加一个功能,就是可以左滑删除,右滑完成.看了一下当前其他人做的例如仿探探式的效果,核心功能基本一样,但是和我预想的还是有少量区别,于是干脆自己重头学一遍如何 ...

  9. [Phonegap+Sencha Touch] 移动开发72 List列表横向滑动操作(仿QQ列表滑动删除)

    原文链接:http://blog.csdn.net/lovelyelfpop/article/details/50425744 本插件有2个版本号:sencha touch 版本号和 extjs6 m ...

随机推荐

  1. Arguments Optional

    function add() { //return false; if(typeof arguments[0] !== "number" || arguments.length & ...

  2. RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA

     环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterpris ...

  3. iOS.DistributionApp.0-build-adhoc-distribution-for-tester

    Build adhoc distribution for tester 1. 提供App测试包 1.1 提供测试包的步骤 Ref[8] A: 注册所有的测试设备 B: 将App进行归档 C: 用ad ...

  4. iOS.Performance-trick-presentViewController-is-so-slow-in-didSelectRowAtIndexPath

    presentViewController is so slow in "tableView:didSelectRowAtIndexPath:" Use Case: 在UITabl ...

  5. Oracle 12c 的新功能:模式匹配查询

    模式匹配SQL 在一系列的数据行中辨识出某种模式是一种广泛需求的功能,但在以前的SQL中是不可能的.有许多解决方法,但这些都很难写,很难理解,而且执行效率低下.在Oracle数据库中,从12c开始,你 ...

  6. iOS Xcode添加ios10.0的路径

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  7. 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 ...

  8. php设计模式 Proxy (代理模式)

    代理,指的就是一个角色代表另一个角色采取行动,就象生活中,一个红酒厂商,是不会直接把红酒零售客户的,都是通过代理来完成他的销售业务.而客户,也不用为了喝红酒而到处找工厂,他只要找到厂商在当地的代理就行 ...

  9. 一个Email

    Email 1.接受表单数据并用单独变量保存起来,判断用户协议,这个是必须同意的.2.判断验证码,利用验证码类Captcha.3.判断用户名,密码,邮箱规则,利用Verify类验证.4.判断唯一性,邮 ...

  10. 关于几种编码详解(Unicode,UTF-8,GB系列)

    最近学Python,老是被编码的问题搞得晕乎乎的,晚上看了好多篇博客,整理出来一个比较清晰的关于几种编码以及字符集的思路. 主要参考:http://blog.sina.com.cn/s/blog_6d ...