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

微信小程序 側(cè)滑刪除(左滑刪除)

 更新時(shí)間:2017年05月23日 14:16:40   作者:王慧永  
這篇文章主要介紹了微信小程序 側(cè)滑刪除(左滑刪除)的相關(guān)資料,需要的朋友可以參考下

微信小程序 側(cè)滑刪除(左滑刪除)

如圖所示,demo是小程序的側(cè)滑刪除,這個(gè)是我在別人寫的例子的基礎(chǔ)上修改的。代碼如下

js文件代碼:

// pages/leftSwiperDel/index.js 
 
var initdata = function (that) { 
 var list = that.data.list 
 for (var i = 0; i < list.length; i++) { 
  list[i].txtStyle = "" 
 } 
 that.setData({ list: list }) 
} 
 
Page({ 
 data: { 
  delBtnWidth: 180,//刪除按鈕寬度單位(rpx) 
  list: [ 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
   { 
    txtStyle: "", 
    icon: "/images/qcm.png", 
    txt: "指尖快遞" 
   }, 
 
  ] 
 }, 
 onLoad: function (options) { 
  // 頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù) 
  this.initEleWidth(); 
 }, 
 onReady: function () { 
  // 頁面渲染完成 
 }, 
 onShow: function () { 
  // 頁面顯示 
 }, 
 onHide: function () { 
  // 頁面隱藏 
 }, 
 onUnload: function () { 
  // 頁面關(guān)閉 
 }, 
 touchS: function (e) { 
  if (e.touches.length == 1) { 
   this.setData({ 
    //設(shè)置觸摸起始點(diǎn)水平方向位置 
    startX: e.touches[0].clientX 
   }); 
  } 
 }, 
 touchM: function (e) { 
  var that = this 
  initdata(that) 
  if (e.touches.length == 1) { 
   //手指移動(dòng)時(shí)水平方向位置 
   var moveX = e.touches[0].clientX; 
   //手指起始點(diǎn)位置與移動(dòng)期間的差值 
   var disX = this.data.startX - moveX; 
   var delBtnWidth = this.data.delBtnWidth; 
   var txtStyle = ""; 
   if (disX == 0 || disX < 0) {//如果移動(dòng)距離小于等于0,文本層位置不變 
    txtStyle = "left:0px"; 
   } else if (disX > 0) {//移動(dòng)距離大于0,文本層left值等于手指移動(dòng)距離 
    txtStyle = "left:-" + disX + "px"; 
    if (disX >= delBtnWidth) { 
     //控制手指移動(dòng)距離最大值為刪除按鈕的寬度 
     txtStyle = "left:-" + delBtnWidth + "px"; 
    } 
   } 
   //獲取手指觸摸的是哪一項(xiàng) 
   var index = e.target.dataset.index; 
   var list = this.data.list; 
   list[index].txtStyle = txtStyle; 
   //更新列表的狀態(tài) 
   this.setData({ 
    list: list 
   }); 
  } 
 }, 
 
 touchE: function (e) { 
  if (e.changedTouches.length == 1) { 
   //手指移動(dòng)結(jié)束后水平位置 
   var endX = e.changedTouches[0].clientX; 
   //觸摸開始與結(jié)束,手指移動(dòng)的距離 
   var disX = this.data.startX - endX; 
   var delBtnWidth = this.data.delBtnWidth; 
   //如果距離小于刪除按鈕的1/2,不顯示刪除按鈕 
   var txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "px" : "left:0px"; 
   //獲取手指觸摸的是哪一項(xiàng) 
   var index = e.target.dataset.index; 
   var list = this.data.list; 
   list[index].txtStyle = txtStyle; 
   //更新列表的狀態(tài) 
   this.setData({ 
    list: list 
   }); 
  } 
 }, 
 //獲取元素自適應(yīng)后的實(shí)際寬度 
 getEleWidth: function (w) { 
  var real = 0; 
  try { 
   var res = wx.getSystemInfoSync().windowWidth; 
   var scale = (750 / 2) / (w / 2);//以寬度750px設(shè)計(jì)稿做寬度的自適應(yīng) 
   // console.log(scale); 
   real = Math.floor(res / scale); 
   return real; 
  } catch (e) { 
   return false; 
   // Do something when catch error 
  } 
 }, 
 initEleWidth: function () { 
  var delBtnWidth = this.getEleWidth(this.data.delBtnWidth); 
  this.setData({ 
   delBtnWidth: delBtnWidth 
  }); 
 }, 
 //點(diǎn)擊刪除按鈕事件 
 delItem: function (e) { 
  var that = this 
  wx.showModal({ 
   title: '提示', 
   content: '是否刪除?', 
   success: function (res) { 
    if (res.confirm) { 
     //獲取列表中要?jiǎng)h除項(xiàng)的下標(biāo) 
     var index = e.target.dataset.index; 
     var list = that.data.list; 
     //移除列表中下標(biāo)為index的項(xiàng) 
     list.splice(index, 1); 
     //更新列表的狀態(tài) 
     that.setData({ 
      list: list 
     }); 
    } else { 
     initdata(that) 
    } 
   } 
  }) 
 
 } 
 
}) 

wxss文件代碼:

/* pages/leftSwiperDel/index.wxss */ 
view{ 
  box-sizing: border-box; 
} 
.item-box{ 
  width: 700rpx; 
  margin: 0 auto; 
  padding:40rpx 0; 
} 
.items{ 
  width: 100%; 
} 
.item{ 
  position: relative; 
  border-top: 2rpx solid #eee; 
  height: 120rpx; 
  line-height: 120rpx; 
  overflow: hidden; 
} 
.item:last-child{ 
  border-bottom: 2rpx solid #eee; 
} 
.inner{ 
  position: absolute; 
  top:0; 
} 
.inner.txt{ 
  background-color: #fff; 
  width: 100%; 
  z-index: 5; 
  padding:0 10rpx; 
  transition: left 0.2s ease-in-out; 
  white-space:nowrap; 
  overflow:hidden; 
  text-overflow:ellipsis; 
} 
.inner.del{ 
  background-color: #e64340; 
  width: 180rpx;text-align: center; 
  z-index: 4; 
  right: 0; 
  color: #fff 
} 
.item-icon{ 
  width: 64rpx; 
  vertical-align: middle; 
  margin-right: 16rpx 
} 
.thumb{ 
  width: 200px; 
  height: 200px; 
  -webkit-overflow-scrolling: touch; 
  overflow: scroll; 
} 

wxml文件代碼:

<view class="item-box"> 
 <view class="items"> 
  <view wx:for="{{list}}" wx:key="{{index}}" class="item"> 
   <view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-index="{{index}}" style="{{item.txtStyle}}" class="inner txt"> 
   <image class="item-icon" mode="widthFix" src="{{item.icon}}"></image>{{index}}{{item.txt}}</view> 
   <view data-index="{{index}}" bindtap = "delItem" class="inner del">刪除</view> 
  </view> 
 </view> 
</view> 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Fabric.js 拖拽平移畫布方法示例

    Fabric.js 拖拽平移畫布方法示例

    這篇文章主要為大家介紹了Fabric.js 拖拽平移畫布方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 微信小程序之獲取當(dāng)前位置經(jīng)緯度以及地圖顯示詳解

    微信小程序之獲取當(dāng)前位置經(jīng)緯度以及地圖顯示詳解

    最近剛開始接觸微信小程序,在弄懂其結(jié)構(gòu)以及相關(guān)接口之后,準(zhǔn)備著手實(shí)現(xiàn)一個(gè)小程序,功能包括--獲取用戶當(dāng)前位置的經(jīng)緯度,在地圖上查看位置,通過地圖獲取不同位置的經(jīng)緯度。
    2017-05-05
  • 利用 JavaScript 構(gòu)建命令行應(yīng)用

    利用 JavaScript 構(gòu)建命令行應(yīng)用

    這篇文章主要介紹了利用 JavaScript 構(gòu)建命令行應(yīng)用,下面文章圍繞如何利用JavaScript 構(gòu)建命令行應(yīng)用的相關(guān)資料炸開詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • 微信小程序(十五)checkbox組件詳細(xì)介紹

    微信小程序(十五)checkbox組件詳細(xì)介紹

    這篇文章主要介紹了微信小程序checkbox組件詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 微信小程序 地圖map實(shí)例詳解

    微信小程序 地圖map實(shí)例詳解

    這篇文章主要介紹了微信小程序 地圖map實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • JS前端使用canvas搞一個(gè)手勢識(shí)別

    JS前端使用canvas搞一個(gè)手勢識(shí)別

    這篇文章主要為大家介紹了JS前端使用canvas搞一個(gè)手勢識(shí)別的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • pnpm對npm及yarn降維打擊詳解

    pnpm對npm及yarn降維打擊詳解

    這篇文章主要為大家介紹了pnpm對npm及yarn降維打擊原因詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 UI與容器組件總結(jié)

    微信小程序 UI與容器組件總結(jié)

    這篇文章主要介紹了微信小程序 UI與容器組件總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • ECharts框架Sunburst拖拽功能實(shí)現(xiàn)方案詳解

    ECharts框架Sunburst拖拽功能實(shí)現(xiàn)方案詳解

    這篇文章主要為大家介紹了ECharts框架Sunburst拖拽功能實(shí)現(xiàn)方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 手把手教你從0搭建前端腳手架詳解

    手把手教你從0搭建前端腳手架詳解

    這篇文章主要介紹了手把手教你從0搭建前端腳手架詳解,腳手架就是在啟動(dòng)的時(shí)候詢問一些簡單的問題,并且通過用戶回答的結(jié)果去渲染對應(yīng)的模板文件,需要的朋友可以參考下
    2023-03-03

最新評論

鹤壁市| 德格县| 平潭县| 开平市| 文水县| 固始县| 高唐县| 石泉县| 防城港市| 临沂市| 庆城县| 新乡县| 五大连池市| 凯里市| 延川县| 柯坪县| 军事| 盐池县| 晋州市| 西林县| 琼海市| 镇赉县| 从江县| 简阳市| 临湘市| 莱阳市| 博乐市| 惠州市| 望奎县| 蓬莱市| 皮山县| 康马县| 方山县| 桂阳县| 吉木乃县| 屏边| 昆明市| 集贤县| 古田县| 黔西| 明溪县|