app左滑删除效果

21 篇文章 0 订阅
16 篇文章 0 订阅
百度云: 编程 --> 插件 -->  下载插件
              编程 -->  项目 -->  新功能

效果图:

html:
< body >
< header >
    < h2 >消息列表 </ h2 >
</ header >
< section  class= "list" >
    < ul  class= "list-ul" >
        < li  id= "li"  class= "list-li" >
            < div  class= "con" >
            测试手机端左滑1
            </ div >
            < div  class= "btn" >删除 </ div >
        </ li >
        < li  class= "list-li" >
            < div  class= "con" >
                测试手机端左滑2
            </ div >
            < div  class= "btn" >删除 </ div >
        </ li >
    </ ul >
</ section >
</body>

css:
*padding: 0margin: 0list-stylenone;}
headerbackground#f7483bborder-bottom1 px solid  #ccc}
header h2text-aligncenterline-height54 pxfont-size16 pxcolor#fff}
. list-uloverflowhidden}
. list-liline-height60 pxborder-bottom1 px solid  #fcfcfcposition: relativecolor#666; text-indent20 px;
    background#f2f2f2;
    -webkit-transformtranslateX( 0 px);
}
. btnpositionabsolutetop0right: - 80 pxtext-aligncenterbackground#ffcb20color#fffwidth80 px}

js:
< script >
    /*
    * 作者:sokie
    *   qq:2048226123
    * 描述:第一次上传资源,有点粗糙,以后有时间会优化的
    *
    */
    window. addEventListener( 'load', function(){
      var  initX;
      var  moveX;
      var  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;
               //  取到transform值,同时去掉 translateX ,px,   最后结果就是: 0 ,-80
         }
          ifobjX ==  0){
            window. addEventListener( 'touchmove', function(event) {
               event.preventDefault();
                var  obj = event.target. parentNode;
                if ( obj. className ==  "list-li") {
                  moveX = event.targetTouches[ 0]. pageX;
                  moveX initX;
                  if ( 0) {
                      obj. style. WebkitTransform "translateX(" "px)";
                  }
                  else if ( 0) {
                      var  = Math. abs( X);
                      obj. style. WebkitTransform "translateX(" + - "px)";
                      if( l> 80){
                        l= 80;
                        obj. style. WebkitTransform "translateX(" + - "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;
                  moveX initX;
                  if ( 0) {
                      var  = - 80 + Math. abs( X);
                      obj. style. WebkitTransform "translateX(" "px)";
                      if( r> 0){
                        r= 0;
                        obj. style. WebkitTransform "translateX(" "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(" "px)";
            } else{
                obj. style. WebkitTransform "translateX(" + - 80 "px)";
            }
         }
       })
   })

</ script >


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在UniApp中,实现左滑退出应用(也称为侧滑返回或边缘滑动返回)的功能,可以通过自定义导航栏组件并集成第三方库或者使用内置的API来完成。以下是一个简单的步骤概述: 1. **引入第三方库**: UniApp提供了UI Plus等一些第三方插件,其中可能包含了侧滑返回功能。例如,`ui-nav-plus`就是其中之一,你可以通过`npm install @dcloudio/ui-nav-plus`来安装。 2. **配置导航栏**: 在`pages.json`文件中,将需要添加侧滑返回的页面配置为`navigatorStyle="custom"`,然后在对应的WXML文件中引用并设置导航栏样式。 ```json { "navigatorStyle": "custom", ... } ``` 3. **编写自定义导航栏组件**: 使用Vue或WXML/JSX创建一个自定义导航栏组件,添加左滑事件监听和处理逻辑。当用户向左滑动时,检查当前页面是否允许返回,如果允许则调用相应的退出方法。 4. **退出方法**: 在组件内部,你可以定义一个`onSwipeLeft`事件处理器,在这个方法中,你可以调用`navigator.pop`或`navigator.exit`来关闭当前页面。如果需要特定的退出逻辑,也可以在此处执行。 ```javascript export default { methods: { onSwipeLeft(e) { if (this.isExitAllowed()) { this.$navigator.pop(); } else { // 如果不允许退出,可做其他处理,比如阻止默认行为 e.preventDefault(); } }, isExitAllowed() { // 逻辑判断,如不是首页面则允许退出 return this.$route.index !== 0; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值