最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序左滑刪除實現(xiàn)代碼實例

 更新時間:2019年09月16日 14:22:46   作者:執(zhí)著的小前端  
這篇文章主要介紹了微信小程序左滑刪除實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了微信小程序左滑刪除實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

<view class="touch-item {{item.isTouchMove ? 'touch-move-active' : ''}}" data-index="{{index}}" wx:for="{{list}}" wx:key>
  <view class="content">
    <view style="{{item.txtStyle}}" class='item' data-index='{{index}}' bindtouchstart="touchstart" bindtouchmove="touchmove" bindtouchend="touchE">
    <view class='title'>{{item.title}}</view>
    <text>{{item.create_time}}</text>
  </view>
</view>

<view class="del" data-id="{{item.id}}" catchtap="delBtn" data-index="{{index}}">刪除</view>
</view>
.touch-item {
  display: flex;
  justify-content: space-between;
  width: 100%;
  overflow: hidden;
  margin-bottom: 10rpx;
  background: #f5f5f5;
  height: 216rpx;
}

.content {
  width: 100%;
  margin-right: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: translateX(90px);
  transform: translateX(90px);
  margin-left: -90px;
}

.del {
  width: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  -webkit-transform: translateX(90px);
  transform: translateX(90px);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  font-size: 35rpx;
}

.touch-move-active .content, .touch-move-active .del {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
// pages/touch/touch.js
Page({

  /**
* 頁面的初始數(shù)據(jù)
*/
  data: {
    startX: 0,
    //開始坐標(biāo)
    startY: 0,
    page: 1,
    list: [{
      id: 0,
      title: '標(biāo)題1',
      create_time: '2019-09-06'
    },
    {
      id: 1,
      title: '標(biāo)題2',
      create_time: '2019-09-06'
    },
    {
      id: 2,
      title: '標(biāo)題3',
      create_time: '2019-09-06'
    },
    ]
  },
  touchE: function(e) {
    // console.log(e);
    var that = this
    if (e.changedTouches.length == 1) {
      //手指移動結(jié)束后觸摸點位置的X坐標(biāo)
      var endX = e.changedTouches[0].clientX;
      //觸摸開始與結(jié)束,手指移動的距離
      var disX = that.data.startX - endX;
      var delBtnWidth = that.data.delBtnWidth;
      //如果距離小于刪除按鈕的1/2,不顯示刪除按鈕
      var txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "rpx": "left:0rpx";

      //獲取手指觸摸的是哪一項
      var index = e.currentTarget.dataset.index;
      var list = that.data.list;
      list[index].txtStyle = txtStyle;
      //更新列表的狀態(tài)
      that.setData({
        list: list
      });
    }
  },
  //手指觸摸動作開始 記錄起點X坐標(biāo)
  touchstart: function(e) {
    //開始觸摸時 重置所有刪除
    this.data.list.forEach(function(v, i) {
      if (v.isTouchMove) //只操作為true的
      v.isTouchMove = false;
    }) this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      list: this.data.list
    })
  },
  //滑動事件處理
  touchmove: function(e) {
    var that = this,
    index = e.currentTarget.dataset.index,
    //當(dāng)前索引
    startX = that.data.startX,
    //開始X坐標(biāo)
    startY = that.data.startY,
    //開始Y坐標(biāo)
    touchMoveX = e.changedTouches[0].clientX,
    //滑動變化坐標(biāo)
    touchMoveY = e.changedTouches[0].clientY,
    //滑動變化坐標(biāo)
    //獲取滑動角度
    angle = that.angle({
      X: startX,
      Y: startY
    },
    {
      X: touchMoveX,
      Y: touchMoveY
    });
    that.data.list.forEach(function(v, i) {
      v.isTouchMove = false
      //滑動超過30度角 return
      if (Math.abs(angle) > 30) return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
        v.isTouchMove = false
        else //左滑
        v.isTouchMove = true
      }
    })
    //更新數(shù)據(jù)
    that.setData({
      list: that.data.list
    })
  },
  /**
* 計算滑動角度
* @param {Object} start 起點坐標(biāo)
* @param {Object} end 終點坐標(biāo)
*/
  angle: function(start, end) {
    var _X = end.X - start.X,
    _Y = end.Y - start.Y
    //返回角度 /Math.atan()返回數(shù)字的反正切值
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },
  /**
* 生命周期函數(shù)--監(jiān)聽頁面加載
*/
  onLoad: function(options) {
},
  /**
* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
*/
  onReady: function() {
},
  /**
* 生命周期函數(shù)--監(jiān)聽頁面顯示
*/
  onShow: function() {
},
  /**
* 生命周期函數(shù)--監(jiān)聽頁面隱藏
*/
  onHide: function() {
},
  /**
* 生命周期函數(shù)--監(jiān)聽頁面卸載
*/
  onUnload: function() {
},
  /**
* 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作
*/
  onPullDownRefresh: function() {
},
  /**
* 頁面上拉觸底事件的處理函數(shù)
*/
  onReachBottom: function() {
},
  /**
* 用戶點擊右上角分享
*/
  onShareAppMessage: function() {
}
})

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS動態(tài)增刪表格行的方法

    JS動態(tài)增刪表格行的方法

    這篇文章主要介紹了JS動態(tài)增刪表格行的方法,涉及JavaScript針對表格元素動態(tài)操作相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-03-03
  • 解析Javascript中大括號“{}”的多義性

    解析Javascript中大括號“{}”的多義性

    這篇文章主要介紹了Javascript中大括號“{}”的多義性。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • JavaScript實現(xiàn)簡易輪播圖最全代碼解析(ES6面向?qū)ο?

    JavaScript實現(xiàn)簡易輪播圖最全代碼解析(ES6面向?qū)ο?

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)簡易輪播圖最全代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • checkbox選中與未選中判斷示例

    checkbox選中與未選中判斷示例

    本節(jié)主要介紹了checkbox選中與未選中的判斷方法,需要的朋友可以參考下
    2014-08-08
  • 詳解JavaScript實現(xiàn)監(jiān)聽路由變化

    詳解JavaScript實現(xiàn)監(jiān)聽路由變化

    前端實現(xiàn)路由變化主要有兩種方式,本文主要介紹了這兩種方法的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JS利用正則表達式實現(xiàn)簡單的密碼強弱判斷實例

    JS利用正則表達式實現(xiàn)簡單的密碼強弱判斷實例

    這篇文章主要給大家介紹了關(guān)于JS利用正則表達式實現(xiàn)簡單的密碼強弱判斷的相關(guān)資料,實現(xiàn)后的效果非常簡單,但也挺實用的,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。
    2017-06-06
  • contenteditable可編輯區(qū)域設(shè)置換行實現(xiàn)技巧實例

    contenteditable可編輯區(qū)域設(shè)置換行實現(xiàn)技巧實例

    這篇文章主要為大家介紹了contenteditable可編輯區(qū)域設(shè)置換行實現(xiàn)技巧實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • JS組件Bootstrap dropdown組件擴展hover事件

    JS組件Bootstrap dropdown組件擴展hover事件

    bootstrap的下拉組件,需要點擊click時,方可展示下拉列表。因此對于喜歡簡單少操作的大家來說,點擊一下多少帶來不便,因此,引入hover監(jiān)聽,鼠標(biāo)經(jīng)過自動展示下拉框。這篇文章主要介紹了JS組件Bootstrap dropdown組件擴展hover事件,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 小程序中實現(xiàn)獲取全部數(shù)據(jù)的圖文教程

    小程序中實現(xiàn)獲取全部數(shù)據(jù)的圖文教程

    最近在開發(fā)中遇到了一個需求,需要獲取小程序的全部數(shù)據(jù),所以這篇文章主要給大家介紹了關(guān)于小程序中實現(xiàn)獲取全部數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 簡單了解JavaScript sort方法

    簡單了解JavaScript sort方法

    這篇文章主要介紹了簡單了解JavaScript sort方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

汾阳市| 安乡县| 花垣县| 河西区| 凉城县| 东源县| 五莲县| 盐源县| 土默特左旗| 阜阳市| 沅江市| 宜黄县| 营口市| 哈密市| 绥阳县| 白山市| 平乡县| 康马县| 正安县| 嫩江县| 木里| 府谷县| 榕江县| 从化市| 隆化县| 皮山县| 龙海市| 咸丰县| 滨海县| 曲麻莱县| 兴安县| 板桥市| 巴东县| 关岭| 浦县| 本溪| 六安市| 剑川县| 象山县| 隆子县| 斗六市|