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

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

 更新時間:2020年03月30日 14:54:22   作者:chengxuyuan123_  
這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)左滑動刪除效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近做微信小程序項目遇到左滑動效果,比如在我的收藏頁面,我的歷史瀏覽記錄頁面,我的購物車頁面,大多數(shù)都會用到這種效果,我把代碼復(fù)制出來,供大家參考,用的時候直接用模板,再此基礎(chǔ)上修改就行。

wxml中的代碼:

<view class="touch-item {{item.isTouchMove ? 'touch-move-active' : ''}}" data-index=" {{index}}" bindtouchstart="touchstart" bindtouchmove="touchmove" wx:for="{{items}}" wx:key="">
 <view class="content">
 <view class='com'>
 <view class='tp'>
  <image src="{{item.image_src}}" class='img' />
 </view>
 <view class='txt'>
  <view class='tit'>{{item.goods_name}}</view>

  <view class='bot'>

  <block wx:if="{{item.marketable=='true'}}">
  <view class="pri">
  <text class="new-price">¥{{item.goods_price}}</text>
  <text class="old-price">¥{{item.mktprice}}</text>
  </view>
  <navigator class='a'>
  <label class='ti1'>可使用優(yōu)惠券</label>
  </navigator>
  </block>
  <block wx:else>
  <navigator class='a'>
  <label class='ti'>對不起該商品已下架</label>
  </navigator>
  </block>

  </view>
 </view>
 </view>
 </view>
<view class="del" catchtap="del" data-index="{{index}}" data-productid="{{item.product_id}}" data-goodsid="{{item.goods_id}}">刪除</view>
</view>

我這是對完接口之后的代碼,循環(huán)items,然后用{{item.}}取到下面的值,并且用了一個判斷,如果后臺返回來的字段值marketable==‘true',讓其顯示商品的銷售價和原價,否則顯示該商品已下架。

js中的代碼:

 data: {
 startX: 0, //開始坐標(biāo)
 startY: 0
 },
 touchstart: function(e) {
 //開始觸摸時 重置所有刪除
 this.data.items.forEach(function(v, i) {
 if (v.isTouchMove) //只操作為true的
 v.isTouchMove = false;
 })
 this.setData({
 startX: e.changedTouches[0].clientX,
 startY: e.changedTouches[0].clientY,
 items: this.data.items
 })
 },
 //滑動事件處理
 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.items.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({
 items: that.data.items
 })
 },

 /**
 * 計算滑動角度
 * @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);
 },

wxml中的代碼:

.touch-item {
 background-color: #fff;
 margin-top: 20rpx;
 display: flex;
 justify-content: space-between;
 width: 100%;
 overflow: hidden;
 box-sizing: border-box;
}

.content {
 width: 100%;
 -webkit-transition: all 0.4s;
 transition: all 0.4s;
 -webkit-transform: translateX(180rpx);
 transform: translateX(180rpx);
 margin-left: -180rpx;
}

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

.com {
 padding: 25rpx;
 height: 210rpx;
}

.tp {
 background-color: white;
 float: left;
}

.img {
 width: 210rpx;
 height: 210rpx;
 display: inline-block;
 vertical-align: middle;
 border-radius: 15rpx;
}

.txt {
 width: 420rpx;
 margin-left: 270rpx;
 position: relative;
}

.txt .tit {
 font-size: 28rpx;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 2;
 overflow: hidden;
}

.txt .bot {
 width: 100%;
 font-size: 24rpx;
 margin-top: 20rpx;
}

.ti1 {
 margin-top: 15rpx;
 font-size: 23rpx;
 background-color: #fce64c;
 padding: 10rpx;
 display: inline-block;
}

.ti {
 margin-top: 35rpx;
 font-size: 28rpx;
 display: inline-block;
 color: #a2a2a2;
}

.del {
 background-color: red;
 width: 180rpx;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 color: #fff;
 -webkit-transform: translateX(180rpx);
 transform: translateX(180rpx);
 -webkit-transition: all 0.4s;
 transition: all 0.4s;
}

.new-price {
 font-weight: 600;
 color: #ff503c;
 font-size: 35rpx;
}

.old-price {
 margin-left: 30rpx;
 text-decoration: line-through;
 font-size: 28rpx;
 color: #b1b1b1;
}

為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。

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

相關(guān)文章

  • 基于JS組件實現(xiàn)拖動滑塊驗證功能(代碼分享)

    基于JS組件實現(xiàn)拖動滑塊驗證功能(代碼分享)

    拖動滑塊驗證功能在支付寶,微信各大平臺都能見到這樣的功能,那么基于js組件是如何實現(xiàn)此功能的呢?今天小編就給大家分享下js 拖動滑塊 驗證功能的實現(xiàn)代碼,需要的朋友參考下吧
    2016-11-11
  • JS?ES5創(chuàng)建常量詳解

    JS?ES5創(chuàng)建常量詳解

    這篇文章主要介紹了JS?ES5創(chuàng)建常量詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-07-07
  • Java通過WebSocket實現(xiàn)異步導(dǎo)出解決思路

    Java通過WebSocket實現(xiàn)異步導(dǎo)出解決思路

    這篇文章主要介紹了通過WebSocket實現(xiàn)異步導(dǎo)出,本篇文章記錄大批量數(shù)據(jù)導(dǎo)出時間過長,導(dǎo)致接口請求超時問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • JavaScript find()方法及返回數(shù)據(jù)實例

    JavaScript find()方法及返回數(shù)據(jù)實例

    這篇文章主要介紹了JavaScript中的find()方法和返回數(shù)據(jù)的內(nèi)存指向,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • js中offset,client , scroll 三大元素知識點總結(jié)

    js中offset,client , scroll 三大元素知識點總結(jié)

    在本篇文章里小編給大家整理了關(guān)于js 元素offset,client , scroll 三大系列總結(jié),有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • js和jquery中獲取非行間樣式

    js和jquery中獲取非行間樣式

    本篇文章主要介紹了js和jquery中獲取非行間樣式的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • 微信小程序模板與設(shè)置WXML實例講解

    微信小程序模板與設(shè)置WXML實例講解

    這篇文章主要介紹了微信小程序模板與設(shè)置WXML,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 微信小程序h5頁面跳轉(zhuǎn)小程序的超詳細講解

    微信小程序h5頁面跳轉(zhuǎn)小程序的超詳細講解

    開發(fā)中涉及到一個需求,就是從一個預(yù)約票購買的頁面需要跳轉(zhuǎn)到?小程序,下面這篇文章主要給大家介紹了關(guān)于微信小程序h5頁面跳轉(zhuǎn)小程序的超詳細講解,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • JavaScript 判斷iPhone X Series機型的方法

    JavaScript 判斷iPhone X Series機型的方法

    這篇文章主要介紹了JavaScript 判斷iPhone X Series機型的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • JS獲取地址欄參數(shù)的幾種方法小結(jié)

    JS獲取地址欄參數(shù)的幾種方法小結(jié)

    本篇文章主要是對JS獲取地址欄參數(shù)的幾種方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02

最新評論

格尔木市| 海伦市| 喜德县| 岫岩| 东港市| 塔城市| 英吉沙县| 城步| 剑河县| 剑河县| 玉环县| 常德市| 洪洞县| 喜德县| 青河县| 绥中县| 长葛市| 盱眙县| 冕宁县| 山丹县| 图们市| 纳雍县| 峡江县| 顺昌县| 炎陵县| 炎陵县| 蓬莱市| 长春市| 区。| 扶风县| 阜新| 金沙县| 利辛县| 大名县| 台东市| 眉山市| 平遥县| 孝感市| 黄陵县| 舟山市| 渭南市|