小程序仿IOS滑動刪除

直接效果圖

效果圖

需求,優(yōu)化錢

1.項(xiàng)目需要滑動刪除的功能嗤无,項(xiàng)目最初時間有點(diǎn)趕震束,基于最簡單的思路去寫的。最后發(fā)現(xiàn)體驗(yàn)并不好当犯,有卡頓現(xiàn)象垢村,而且當(dāng)頁面出現(xiàn)滾動條時,頁面上下滑動時也會出現(xiàn)卡頓現(xiàn)象嚎卫,所有抽時間重寫嘉栓。
2.之前的實(shí)現(xiàn)方式是通過 滑動動態(tài)去setData然后綁定dom設(shè)置dom的style,也比較消耗性能,實(shí)現(xiàn)起來比重寫后的要復(fù)雜。
3.githubDEMO地址
4.blog地址

優(yōu)化前實(shí)現(xiàn)方案

<view style={{position}}></view>

.........
this.setData({
   position : "left:28.123762"http://小數(shù)點(diǎn)....會導(dǎo)致更卡 
})
.........

優(yōu)化后實(shí)現(xiàn)方案

1.touchStart
2.touchEed
3.wx.createAnimation
通過touchStart驰凛,touchEed來判斷用戶手指的移動方向和移動距離,添加不同的動畫
4.{{ index == activeIndex ? animation : animationClose }},添加打開動畫担扑,關(guān)閉動畫恰响。activeIndex不是當(dāng)前選中滑動的元素,肯定是要關(guān)閉的動畫取反即可

代碼


<view>
  <view class="list" wx:for="{{list}}" wx:key="{{id}}" >
    <view class="slide-box" data-index="{{index}}"
       bindtouchstart="touchS"
        bindtouchend="touchE"
          animation="{{ index == activeIndex ? animation : animationClose }}" 
          >
      <view class="pot-image">
        <image src="{{item.image}}"></image>
      </view>
      <view>
        {{item.title}}{{index}}
      </view>
    </view>
    <view class="del">刪除</view>
  </view>
</view>

Page({
   data : {
        animationStart: "",//打開動畫
        activeIndex: '',  //當(dāng)前選中的元素
        startClient: '',  //起點(diǎn)位置
        animationClose : "",//關(guān)閉動畫
   },
   onLoad: function () {
    this.animationStart = wx.createAnimation({
      duration: 450,
      timingFunction: 'ease',
      delay: 0,
      transformOrigin: 'left top 0',
      success: function (res) {
        this.setData({
          startClient: ''
        })
      }
    })
    this.animationClose = wx.createAnimation({
      duration: 450,
      timingFunction: 'ease',
      delay: 0,
      transformOrigin: 'left top 0',
      success: function (res) {}
    })
  },
  
  
  //滑動開始
  touchS: function (e) {  
    console.log(e,'start')
      //設(shè)置當(dāng)前滑動  元素的 index
      //滑動元素的  起始x  位置
    this.setData({
      activeIndex: e.currentTarget.dataset.index, 
      startClient: e.changedTouches[0].clientX,   
      animationStart: ""
    })
  },
  
  
  //滑動結(jié)束
  touchE: function (e) { 
    console.log(e,'end')
    //計(jì)算當(dāng)前移動的距離
    var clientX = e.changedTouches[0].clientX  
    //起始點(diǎn) - 結(jié)束點(diǎn)   關(guān)閉
    if (clientX - this.data.startClient > 60) {    
      this.animationStart.left(0).step()
      //打開
    } else if (clientX - this.data.startClient  < -60) {  
      this.animationStart.left(-180).step()   
      //關(guān)閉上一個
      this.animationClose.left(0).step()
    }
    this.setData({
      animationStart: this.animationStart.export(),
      animationClose: this.animationClose.export()
    })
  }
})
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涌献,一起剝皮案震驚了整個濱河市胚宦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌燕垃,老刑警劉巖枢劝,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赋元,死亡現(xiàn)場離奇詭異果港,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)磷蜀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門轴捎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鹤盒,“玉大人,你說我怎么就攤上這事侦副≌炀猓” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵秦驯,是天一觀的道長尺碰。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么亲桥? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任洛心,我火速辦了婚禮,結(jié)果婚禮上两曼,老公的妹妹穿的比我還像新娘皂甘。我一直安慰自己,他們只是感情好悼凑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布偿枕。 她就那樣靜靜地躺著,像睡著了一般户辫。 火紅的嫁衣襯著肌膚如雪渐夸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天渔欢,我揣著相機(jī)與錄音墓塌,去河邊找鬼。 笑死奥额,一個胖子當(dāng)著我的面吹牛苫幢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垫挨,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼韩肝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了九榔?” 一聲冷哼從身側(cè)響起哀峻,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哲泊,沒想到半個月后剩蟀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡切威,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年育特,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片先朦。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡且预,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烙无,到底是詐尸還是另有隱情锋谐,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布截酷,位于F島的核電站涮拗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜三热,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一鼓择、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧就漾,春花似錦呐能、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至首妖,卻和暖如春偎漫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背有缆。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工象踊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棚壁。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓杯矩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袖外。 傳聞我的和親對象是個殘疾皇子史隆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容