• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序滴滴中银行卡管理模块左滑出现删除和编辑的代码实现

微信小程序滴滴中银行卡管理模块左滑出现删除和编辑的代码实现

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了微信小程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
本篇文章给大家带来的内容是关于微信小程序滴滴中银行卡管理模块左滑出现删除和编辑的代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近在类似于滴滴软件的一款小程序,工程确实有点大,很多东西都是第一次做。这次记录一下关于左滑删除的一个代码记录。主要的思想就是计算滑动距离的大小来使用css中的 transition 控制滑动的效果,主流的都是控制边距margin来达到左滑的效果。

根据我所拿到的ui,我所运用的是使用宽度和radius来达到左滑的效果,造一个属性值,并塞进遍历数组进行判断是true还是false来控制样式。

完成效果:

html

<view class='content'>
  <view class='item-box' wx:for="{{bankList}}" wx:key="index">
    <view class="card-item {{item.txtStyle=='true' ? 'txtStyleFalse':'txtStyleTrue'}}" bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE"  data-index="{{index}}">
      <view class='bank'>{{item.bank}}</view>
      <view class='names'>{{item.names}}</view>
      <view class='card-num'>{{item.cardNum}}</view>
    </view>
    <view class='handle flex-box-start-top'>
      <view class='edit'>编辑</view>
      <view class='delect'>删除</view>
    </view>
  </view>  </view>

js

/**
   * 页面的初始数据
   */
  data: {
    bankList:[
      { 'bank':'中国建设银行(建安支行)',
        'names':'章三',
        'cardNum':'***** ******* ***** ***0910'
      },
      {
        'bank': '中国工商银行(建安支行)',
        'names': '章三',
        'cardNum': '***** ******* ***** ***0910'
      },
    ],
    editIndex: 0,
    delBtnWidth:180//删除按钮宽度单位(rpx)
  },
  /*自定义方法--start */
  //
  touchS: function (e) {
    if (e.touches.length == 1) {
      this.setData({
        stX: e.touches[0].clientX
      });
    }
  },
  touchM: function (e) {
    console.log("touchM:" + e);
     var that = this
    if (e.touches.length == 1) {
      //记录触摸点位置的X坐标 
      var moveX = e.touches[0].clientX; 
      //计算手指起始点的X坐标与当前触摸点的X坐标的差值 
      var disX = that.data.stX - moveX;
      //delBtnWidth 为右侧按钮区域的宽度 
      var delBtnWidth = that.data.delBtnWidth; 
      var txtStyle = "true"; 
      if(disX == 0 || disX < 0){
        //如果移动距离小于等于0,文本层位置不变 width: 660rpx;border-radius: 10rpx;
        // txtStyle = "left:0px"; 
        txtStyle = "true"; 
      }else if(disX > 0 ){
        //移动距离大于0,文本层left值等于手指移动距离 width: 470rpx;border-radius: 10rpx 0px 0px 10rpx;
        // txtStyle = "left:-"+disX+"px";
        txtStyle = "false"; 
        // if(disX>=delBtnWidth){ 
        //   //控制手指移动距离最大值为删除按钮的宽度 
        //   txtStyle = "left:-"+delBtnWidth+"px"; 
        // }
      } 
      //获取手指触摸的是哪一个item 
      var index = e.currentTarget.dataset.index; 
      var list = that.data.bankList; 
      //将拼接好的样式设置到当前item中
      list[index].txtStyle = txtStyle; 
      //更新列表的状态
      this.setData({ bankList:list }); 
      // console.log(this.data.bankList)
    } 
  },
  touchE: function (e) {
    console.log("touchE" + e);
    var that = this 
    if (e.changedTouches.length == 1) {
      //手指移动结束后触摸点位置的X坐标 
      var endX = e.changedTouches[0].clientX; 
      //触摸开始与结束,手指移动的距离
      var disX = that.data.stX - endX; 
      var delBtnWidth = that.data.delBtnWidth; 
      //如果距离小于删除按钮的1/2,不显示删除按钮 
      var txtStyle = disX > delBtnWidth/2 ? "true":"false";
      //获取手指触摸的是哪一项 
      var index = e.currentTarget.dataset.index;
      var list = that.data.bankList; list[index].txtStyle = txtStyle; 
      //更新列表的状态 
      that.setData({ bankList:list });
    }
  },


  /*自定义方法--end */

相关推荐:

css3的动画(animation)属性的详解(附代码)

css中Flex布局如何实现九宫格的样式(代码)

怎么用css制作箭头?(不同方向箭头代码示例)

以上就是微信小程序滴滴中银行卡管理模块左滑出现删除和编辑的代码实现的详细内容,更多请关注其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 微信小程序的消息提示框的实现
  • 关于小程序开发tabbar页面显示的相关问题及解决整理
  • 关于app应用实例用法汇总
  • 小程序实例:小程序客服发送图片信息的实现代码
  • 详解python自定义模块、包
  • 教你如何从零建造一个小程序项目
  • 微信小程序验证码如何实现?(源代码)
  • 从零开始开发微信小程序4种页面跳转的方法 (六)
  • 微信小程序开发指南:申请注册与开发流程示例
  • 如何通过微信小程序实现获取自己所处位置的经纬度坐标的功能

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 怎样使用微信小程序做出添加收藏
    • 如何限制Webpack压缩图片的大小
    • 微信小程序高仿手机QQ应用程序
    • 微信小程序测试版本更新公告:最新版本0.12.131201
    • 多个页面传参通信在微信小程序中的实现
    • 关于微信小程序收藏功能的实现
    • 从零开始开发微信小程序轮播图(五)
    • 微信小程序如何实现获取验证码后倒计时效果?(代码示例)
    • 微信小程序Page中data数据操作和函数调用详解
    • 初探“微信小小程序”

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有