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

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

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

最近做微信小程序項(xiàng)目遇到左滑動(dòng)效果,比如在我的收藏頁(yè)面,我的歷史瀏覽記錄頁(yè)面,我的購(gòu)物車(chē)頁(yè)面,大多數(shù)都會(huì)用到這種效果,我把代碼復(fù)制出來(lái),供大家參考,用的時(shí)候直接用模板,再此基礎(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'>對(duì)不起該商品已下架</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>

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

js中的代碼:

 data: {
 startX: 0, //開(kāi)始坐標(biāo)
 startY: 0
 },
 touchstart: function(e) {
 //開(kāi)始觸摸時(shí) 重置所有刪除
 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
 })
 },
 //滑動(dòng)事件處理
 touchmove: function(e) {
 var that = this,
 index = e.currentTarget.dataset.index, //當(dāng)前索引
 startX = that.data.startX, //開(kāi)始X坐標(biāo)
 startY = that.data.startY, //開(kāi)始Y坐標(biāo)
 touchMoveX = e.changedTouches[0].clientX, //滑動(dòng)變化坐標(biāo)
 touchMoveY = e.changedTouches[0].clientY, //滑動(dòng)變化坐標(biāo)
 //獲取滑動(dòng)角度
 angle = that.angle({
 X: startX,
 Y: startY
 }, {
 X: touchMoveX,
 Y: touchMoveY
 });
 that.data.items.forEach(function(v, i) {
 v.isTouchMove = false
 //滑動(dòng)超過(guò)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
 })
 },

 /**
 * 計(jì)算滑動(dòng)角度
 * @param {Object} start 起點(diǎn)坐標(biāo)
 * @param {Object} end 終點(diǎn)坐標(biāo)
 */
 angle: function(start, end) {
 var _X = end.X - start.X,
 _Y = end.Y - start.Y
 //返回角度 /Math.atan()返回?cái)?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)注度比較高的微信小程序教程一篇:《微信小程序開(kāi)發(fā)教程》小編為大家精心整理的,希望喜歡。

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

相關(guān)文章

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

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

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

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

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

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

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

    JavaScript find()方法及返回?cái)?shù)據(jù)實(shí)例

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

    js中offset,client , scroll 三大元素知識(shí)點(diǎn)總結(jié)

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

    js和jquery中獲取非行間樣式

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

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

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

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

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

    JavaScript 判斷iPhone X Series機(jī)型的方法

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

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

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

最新評(píng)論

彩票| 马山县| 宣武区| 肃南| 通渭县| 樟树市| 中西区| 竹山县| 军事| 怀柔区| 讷河市| 安宁市| 龙山县| 阳原县| 皮山县| 北宁市| 宜兰市| 清水县| 行唐县| 临江市| 洪湖市| 怀宁县| 阳谷县| 望城县| 新兴县| 兴和县| 萝北县| 赣州市| 怀远县| 镇江市| 山西省| 依兰县| 稷山县| 疏勒县| 寿光市| 屏南县| 喀什市| 西乌珠穆沁旗| 青河县| 新沂市| 集安市|