小程序模板網(wǎng)

微信小程序左右滑動(dòng)切換圖片酷炫效果(附效果)

發(fā)布時(shí)間:2018-05-05 14:43 所屬欄目:小程序開發(fā)教程

開門見山,先上效果吧!感覺可以的用的上的再往下看。(動(dòng)圖網(wǎng)址)

  心動(dòng)嗎?那就繼續(xù)往下看!

  先上頁(yè)面結(jié)構(gòu)吧,也就是wxml文件,其實(shí)可以理解成微信自己封裝過(guò)的html,這個(gè)不多說(shuō)了,不懂也沒必要往下看了。

 

				
  1. 1 <scroll-view class="scroll-view_H" scroll-x scroll-with-animation style="width: 100%;height:{{windowHeight}}px" bindscroll="getSelectItem">
  2. 2 <block wx:for="{{proList}}" wx:key="unique" wx:for-index="id" wx:for-item="item">
  3. 3 <view class="scroll_item {{item.selected ? 'selected' : ''}}" data-index='{{item.index}}' bindtap='selectProItem'>
  4. 4 <view class='proImg'><image src="{{item.proUrl}}" class="slide-image" mode="widthFix"/></view>
  5. 5 <view class='detailBox'>
  6. 6 <view class='proTitle'>{{item.proTitle}}</view>
  7. 7 <view class='proDec'>{{item.proDec}}</view>
  8. 8 <view class='proPrice'>¥{{item.proPrice}}</view>
  9. 9 <navigator class='detailLink' url="../detail/detail?id={{item.id}}">查看詳情 ></navigator>
  10. 10 </view>
  11. 11 </view>
  12. 12 </block>
  13. 13 </scroll-view>

  做該效果樣式就不多說(shuō)了,一個(gè)默認(rèn)狀態(tài)樣式,一個(gè)當(dāng)前選中樣式。(開發(fā)小程序的時(shí)候,注意class的命名,盡量不要使用層級(jí)嵌套,所以class取名的時(shí)候要注意唯一性)

  • View Code    

      js部分:該效果基于小程序的組件 scroll-view 開發(fā)的,利用bindscroll事件加載回調(diào)函數(shù)。

      回調(diào)事件原理:

      通過(guò)滾動(dòng)寬度和每個(gè)item的寬度從而獲取當(dāng)前滾動(dòng)的item是第幾位,然后給對(duì)應(yīng)的item加上選中class,其他的則去除選中class。

 

				
  1. //滑動(dòng)獲取選中商品
  2. getSelectItem:function(e){
  3. var that = this;
  4. var itemWidth = e.detail.scrollWidth / that.data.proList.length;//每個(gè)商品的寬度
  5. var scrollLeft = e.detail.scrollLeft;//滾動(dòng)寬度
  6. var curIndex = Math.round(scrollLeft / itemWidth);//通過(guò)Math.round方法對(duì)滾動(dòng)大于一半的位置進(jìn)行進(jìn)位
  7. for (var i = 0, len = that.data.proList.length; i < len; ++i) {
  8. that.data.proList[i].selected = false;
  9. }
  10. that.data.proList[curIndex].selected = true;
  11. that.setData({
  12. proList: that.data.proList,
  13. giftNo: this.data.proList[curIndex].id
  14. });
  15. },

  ps:有時(shí)候一些酷炫的效果其實(shí)實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,建議開發(fā)前先理清實(shí)現(xiàn)思路,雖然整個(gè)文章言簡(jiǎn)意賅,能看懂就自然懂,樂(lè)在分享。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/24251.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢