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

微信小程序?qū)崿F(xiàn)滑動刪除效果

 更新時間:2017年05月19日 11:46:53   作者:東邊的小山  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)滑動刪除效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最初打算使用scroll-view實現(xiàn),效果好、流暢、有慣性滑動,但由于滾動條沒法去掉、無法實現(xiàn)上下層的幀布局,最終放棄了。

還是自己寫個吧,利用手勢事件。遺憾的是小程序中目前沒有像Android中快速滑動事件,所以,要實現(xiàn)慣性滑動是不可能了。

item的布局:

推薦小程序優(yōu)先使用flex布局,完全夠用。這也是微信推薦的。

<view wx:for="{{cardTeams}}" wx:for-item="cardTeam" id="{{cardTeam.id}}" class="item" bindtouchstart="drawStart" bindtouchmove="drawMove" bindtouchend="drawEnd" style="right:{{cardTeam.right}}px"> 
    <image class="img" src="http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg" mode="scaleToFill"></image> 
    <view class="number-wrapper"> 
     <text class="name">{{cardTeam.name}}</text> 
     <view class="count-wrapper"> 
      <view class="decrease-btn">-</view> 
      <text class="count">1</text> 
      <view class="increase-btn">+</view> 
     </view> 
     <view class="price-wrapper"> 
      <text class="unit">¥</text> 
      <text class="price">99.80</text> 
     </view> 
    </view> 
    <view class="ok"><view class="inner-ok">確定</view></view> 
    <view class="remove" data-id="{{cardTeam.id}}" bindtap="delItem"><view>刪除</view></view> 
   </view> 

主要是將刪除按鈕的設(shè)為絕對定位(position: absolute):

.item .remove{ 
  width: 60px; 
  height: 100%; 
  background-color: red; 
  position: absolute; 
  top: 0; 
  right: -60px; 
  display: flex; 
  justify-content: center; 
  align-items: center; 
} 

Page({ 
 data: { 
  cardTeams:[{"id":"aaaaa", "name":"android教程", "url":"http://www.see-source.com", "right":0, "startRight":0},{"id":"bbbb", "name":"小程序教程", "url":"http://www.see-source.com", "right":0, "startRight":0}] 
 }, 
 drawStart : function(e){ 
   // console.log("drawStart"); 
  var touch = e.touches[0]; 
  startX = touch.clientX; 
  startY = touch.clientY; 
  var cardTeams = this.data.cardTeams; 
  for(var i in cardTeams){ 
    var data = cardTeams[i]; 
    data.startRight = data.right; 
  } 
  key = true; 
 }, 
 drawEnd : function(e){ 
  console.log("drawEnd"); 
  var cardTeams = this.data.cardTeams; 
  for(var i in cardTeams){ 
    var data = cardTeams[i]; 
    if(data.right <= 100/2){ 
      data.right = 0; 
    }else{ 
      data.right = maxRight; 
    } 
  } 
  this.setData({ 
    cardTeams:cardTeams 
  }); 
 }, 
 drawMove : function(e){ 
   //console.log("drawMove"); 
  var self = this; 
  var dataId = e.currentTarget.id; 
  var cardTeams = this.data.cardTeams; 
  if(key){ 
    var touch = e.touches[0]; 
    endX = touch.clientX; 
    endY = touch.clientY; 
    console.log("startX="+startX+" endX="+endX ); 
    if(endX - startX == 0) 
      return ; 
    var res = cardTeams; 
      //從右往左 
 
      if((endX - startX) < 0){ 
        for(var k in res){ 
          var data = res[k]; 
          if(res[k].id == dataId){ 
            var startRight = res[k].startRight; 
            var change = startX - endX; 
            startRight += change; 
            if(startRight > maxRight) 
              startRight = maxRight; 
            res[k].right = startRight; 
          } 
        } 
      }else{//從左往右 
        for(var k in res){ 
          var data = res[k]; 
          if(res[k].id == dataId){ 
            var startRight = res[k].startRight; 
            var change = endX - startX; 
            startRight -= change; 
            if(startRight < 0) 
              startRight = 0; 
            res[k].right = startRight ; 
          } 
        } 
      } 
      self.setData({ 
        cardTeams:cardTeams 
      }); 
           
  } 
 }, 
 //刪除item 
 delItem: function(e){ 
  var dataId = e.target.dataset.id; 
  console.log("刪除"+dataId); 
  var cardTeams = this.data.cardTeams; 
  var newCardTeams = [];  
  for(var i in cardTeams){ 
    var item = cardTeams[i]; 
    if(item.id != dataId){ 
     newCardTeams.push(item); 
    } 
  } 
  this.setData({ 
    cardTeams:newCardTeams 
   }); 
 }, 
 onLoad: function () { 
  console.log('onLoad:'+app.globalData.domain) 
   
 } 
}) 

drawStart用于記錄手指觸碰時的位置,drawMove記錄手指滑動的位置,兩者的差值就是刪除按鈕的偏移量
drawEnd手指抬起時觸發(fā),用于設(shè)置彈回、攤開效果。目前我的是超過一半自動彈開,不足一半自動收回。

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

相關(guān)文章

  • 小程序視頻列表中視頻的播放與停止的示例代碼

    小程序視頻列表中視頻的播放與停止的示例代碼

    本篇文章主要介紹了小程序視頻列表中視頻的播放與停止的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 微信小程序?qū)崿F(xiàn)tabbar凹凸圓選中動畫效果實例

    微信小程序?qū)崿F(xiàn)tabbar凹凸圓選中動畫效果實例

    小程序日益增多的情況下,UI風(fēng)格顯得越來越重要,下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)tabbar凹凸圓選中動畫效果的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 基于JS實現(xiàn)飛機大戰(zhàn)游戲的示例代碼

    基于JS實現(xiàn)飛機大戰(zhàn)游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用JS實現(xiàn)飛機大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 微信小程序使用webview打開pdf文檔以及顯示網(wǎng)頁內(nèi)容的方法步驟

    微信小程序使用webview打開pdf文檔以及顯示網(wǎng)頁內(nèi)容的方法步驟

    在線查看PDF文件,已經(jīng)是很常見的需求了,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用webview打開pdf文檔以及顯示網(wǎng)頁內(nèi)容的方法步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • JavaScript實現(xiàn)平滑滾動效果

    JavaScript實現(xiàn)平滑滾動效果

    頁面平滑滾動是網(wǎng)頁一種常見的效果,平滑滾動的原理其實很簡單,無非就是讓頁面一種肉眼可見的速度從當(dāng)前位置滾動到指定位置,那如何用原生的JS實現(xiàn)這也效果呢?本文給大家介紹了JavaScript實現(xiàn)平滑滾動效果,需要的朋友可以參考下
    2024-06-06
  • javascript關(guān)于“時間”的一次探索

    javascript關(guān)于“時間”的一次探索

    這篇文章主要介紹了javascript關(guān)于“時間”的一次探索,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題

    MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題

    這篇文章主要介紹了MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題,解決方法很簡單的,需要的朋友可以參考下
    2017-04-04
  • MvcPager分頁控件 適用于Bootstrap

    MvcPager分頁控件 適用于Bootstrap

    這篇文章主要為大家詳細(xì)介紹了MvcPager分頁控件,修改后適用于Bootstrap,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法

    JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法

    這篇文章主要介紹了JS一維數(shù)組轉(zhuǎn)多維數(shù)組樹的方法,文章通過代碼示例給大家講解的非常詳細(xì),?對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • 最好用的二級聯(lián)動 原生js實現(xiàn)你值得擁有

    最好用的二級聯(lián)動 原生js實現(xiàn)你值得擁有

    二級聯(lián)動效果,實現(xiàn)方法有很多,不過其他文章中介紹的都比較籠統(tǒng),在本文有一個詳細(xì)的實現(xiàn)過程,使用原生js很容易理解,希望大家可以參考下
    2013-09-09

最新評論

客服| 鄄城县| 兰州市| 山丹县| 温宿县| 安国市| 五峰| 延寿县| 宣城市| 科技| 图们市| 双桥区| 祁门县| 莱芜市| 榆中县| 新和县| 阿尔山市| 凤山县| 江华| 漾濞| 霍林郭勒市| 灵石县| 哈尔滨市| 聂拉木县| 平利县| 莎车县| 商城县| 凤阳县| 青浦区| 东台市| 石林| 绥芬河市| 和硕县| 绍兴市| 西畴县| 开化县| 铁力市| 江津市| 哈巴河县| 海阳市| 吴堡县|