Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108963
  • 博文数量: 40
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 423
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-15 11:55
文章分类

全部博文(40)

文章存档

2016年(36)

2015年(2)

2013年(2)

我的朋友

分类: Html/Css

2016-04-27 15:52:00


点击(此处)折叠或打开

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1">
  6. <title>html5苹果手机向左滑动删除特效</title>
  7. <script src=""></script>
  8. <!--<script src=""></script>-->

  9. <style>
  10.     *{ padding:0; margin:0; list-style: none;}
  11.     header{ background: #f7483b; border-bottom: 1px solid #ccc}
  12.     header h2{ text-align: center; line-height: 54px; font-size: 16px; color: #fff}
  13.     .list-ul{ overflow: hidden}
  14.     .list-li{ line-height: 60px; border-bottom: 1px solid #fcfcfc; position:relative;padding: 0 12px; color: #666;
  15.         background: #f2f2f2;
  16.         -webkit-transform: translateX(0px);
  17.     }
  18.     .btn{ position: absolute; top: 0; right: -80px; text-align: center; background: #ea5404; color: #fff; width: 80px}
  19. </style>
  20. <script>
  21.     /*
  22.      * 作者:sokie
  23.      * qq:2048226123
  24.      * 描述:第一次上传资源,有点粗糙,以后有时间会优化的
  25.      *
  26.      */
  27.     window.addEventListener('load',function(){
  28.         var initX;
  29.         var moveX;
  30.         var X = 0;
  31.         var objX = 0;
  32.         window.addEventListener('touchstart',function(event){
  33.             event.preventDefault();
  34.             var obj = event.target.parentNode;
  35.             if(obj.className == "list-li"){
  36.                 initX = event.targetTouches[0].pageX;
  37.                 objX =(obj.style.WebkitTransform.replace(/translateX\(/g,"").replace(/px\)/g,""))*1;
  38.             }
  39.             if( objX == 0){
  40.                 window.addEventListener('touchmove',function(event) {
  41.                     event.preventDefault();
  42.                     var obj = event.target.parentNode;
  43.                     if (obj.className == "list-li") {
  44.                         moveX = event.targetTouches[0].pageX;
  45.                         X = moveX - initX;
  46.                         if (X > 0) {
  47.                             obj.style.WebkitTransform = "translateX(" + 0 + "px)";
  48.                         }
  49.                         else if (X < 0) {
  50.                             var l = Math.abs(X);
  51.                             obj.style.WebkitTransform = "translateX(" + -l + "px)";
  52.                             if(l>80){
  53.                                 l=80;
  54.                                 obj.style.WebkitTransform = "translateX(" + -l + "px)";
  55.                             }
  56.                         }
  57.                     }
  58.                 });
  59.             }
  60.             else if(objX<0){
  61.                 window.addEventListener('touchmove',function(event) {
  62.                     event.preventDefault();
  63.                     var obj = event.target.parentNode;
  64.                     if (obj.className == "list-li") {
  65.                         moveX = event.targetTouches[0].pageX;
  66.                         X = moveX - initX;
  67.                         if (X > 0) {
  68.                             var r = -80 + Math.abs(X);
  69.                             obj.style.WebkitTransform = "translateX(" + r + "px)";
  70.                             if(r>0){
  71.                                 r=0;
  72.                                 obj.style.WebkitTransform = "translateX(" + r + "px)";
  73.                             }
  74.                         }
  75.                         else { //向左滑动
  76.                             obj.style.WebkitTransform = "translateX(" + -80 + "px)";
  77.                         }
  78.                     }
  79.                 });
  80.             }
  81.             
  82.         })
  83.         window.addEventListener('touchend',function(event){
  84.             event.preventDefault();
  85.             var obj = event.target.parentNode;
  86.             if(obj.className == "list-li"){
  87.                 objX =(obj.style.WebkitTransform.replace(/translateX\(/g,"").replace(/px\)/g,""))*1;
  88.                 if(objX>-40){
  89.                     obj.style.WebkitTransform = "translateX(" + 0 + "px)";
  90.                 }else{
  91.                     obj.style.WebkitTransform = "translateX(" + -80 + "px)";
  92.                 }
  93.             }
  94.          })
  95.          <!--zepto用下边这段代码写的delete删除功能-->
  96.         $('.btn').tap(function(){
  97.          $(this).parent().remove()
  98.         })
  99.        /*$('.btn').on('click touchstart',function(){
  100.          $(this).parent().remove()
  101.         })*/
  102.       
  103.     })

  104. </script>

  105. </head>
  106. <body>
  107. <header>
  108.     <h2>消息列表</h2>
  109. </header>
  110. <section class="list" id="fff">
  111.     <ul class="list-ul">
  112.         <li id="li" class="list-li">
  113.             <div class="con">
  114.                 你的快递到了,请到楼下签收
  115.             </div>
  116.             <div class="btn">删除</div>
  117.         </li>
  118.         <li class="list-li">
  119.             <div class="con">
  120.                 哇,你在干嘛,快点来啊就等你了
  121.             </div>
  122.             <div class="btn">删除</div>
  123.         </li>
  124.     </ul>
  125. </section>
  126. <div id="debug" ></div>
  127. </body>
  128. </html>
在引入zepto文件之后删除用这段代码
  1. $('.btn').tap(function(){
  2.          $(this).parent().remove()
  3.         })

引入jquery之后用这段代码
  1. *$('.btn').on('click touchstart',function(){
  2.          $(this).parent().remove()
  3.         })
如果只是用click,在手机上有没有反应,所以加了touchstart,之后功能可以实现
阅读(1644) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~