亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序實現購物頁面左右聯動

2020-03-21 16:01:53
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序實現購物頁面左右聯動的具體代碼,供大家參考,具體內容如下

效果圖:

微信小程序,左右聯動

wxml

<view class="pro-container"> <scroll-view class="left-menu" scroll-y scroll-with-animation="true" scroll-top="{{leftMenuTop}}">  <view class="menu-item {{index===currentActiveIndex?'menu-active':''}}" wx:for="{{item}}" wx:key="{{item.index}}" id="{{index}}" catchtap='changeMenu' >{{item.typename}}</view> </scroll-view> <scroll-view v-if="item!=''" class="right-pro" bindscroll = "scroll" scroll-y scroll-with-animation="true" scroll-top="{{rightProTop}}">  <view class="pro-item" wx:for="{{item}}">    <view class="item-header">{{item.typename}}</view>    <view class="pro-item-container">      <view wx:for="{{item.shop_goods}}" wx:key="{{index}}" class="pro-item-item">       <image lazy-load="true" src="{{item}}"></image>      <text>{{item.goodname}}</text>     </view>    </view>  </view> </scroll-view></view>

wxss

.left-menu{ position: absolute;  top: 0;  left: 0;  bottom: 0;  right: 0;  width: 180rpx;  background-color: #f8f8f8;  font-size: 32rpx;}::-webkit-scrollbar{ width: 0; height: 0; color: transparent;}.left-menu .menu-item{ width: calc(100% - 16rpx); height: 80rpx; padding:0 8rpx; line-height: 80rpx; text-align: center;}.left-menu .menu-item.menu-active{ border-left:8rpx solid red; padding-left: 0; background-color: #fff;} /* 右邊商品區域 */.right-pro{ position: absolute; left: 180rpx; top:0; bottom: 0; width:calc(100% - 180rpx); background-color: #fff;  display: flex; overflow: hidden;}.right-pro .pro-item{ padding:20rpx;}.right-pro .item-header{ display: inline-block; font-size: 30rpx; line-height: 40rpx; color: #fff; background-color: red; padding:0rpx 30rpx;  margin: 10rpx auto;}.right-pro .pro-item-container{ font-size: 28rpx;}.pro-item-item{ width: calc((100% - 180rpx) / 2 ); display:inline-block; }.right-pro .pro-item-container image{ width: 100rpx; height: 100rpx; display: block; margin: 0 auto;}.right-pro .pro-item-container text{ display: block; text-align: center;}

wxjs

let proListToTop = [], menuToTop = [], MENU = 0, windowHeight,timeoutId;// MENU ==> 是否為點擊左側進行滾動的,如果是,則不需要再次設置左側的激活狀態Page({ data: {  proList: [],  item: [],  item2:[   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },   {    "typename": "服飾",   },  ],  currentActiveIndex: 0 }, onLoad: function (options) {  // ---------------------------ajax----------------------  var utilMd5 = require('../../utils/md5.js');  var md5 = utilMd5.hexMD5;  var timestamp = new Date().getTime();  var that = this;  var jsonStr = JSON.stringify({ "shopid": "34" });  var token = md5(jsonStr + timestamp) + timestamp;  wx.request({   url: "https://api.jvjiewang.com/Home/Shop/goods",   data: {    jsonStr: jsonStr,    token: token   },   method: 'POST',   header: {    "Content-Type": "application/x-www-form-urlencoded"   },   success: function (res) {    console.log(res.data.respond);    var items = res.data.respond;    that.setData({     item: items    })   }  })//----------------------------ajax----------------------  // 確保頁面數據已經刷新完畢~  setTimeout(() => {   this.getAllRects()  }, 200) }, changeMenu(e) {  // 改變左側tab欄操作  if (Number(e.target.id) === this.data.currentActiveIndex) return  MENU = 1  this.setData({   currentActiveIndex: Number(e.target.id),   rightProTop: proListToTop[Number(e.target.id)]  })  this.setMenuAnimation(Number(e.target.id)) }, scroll(e) {  for (let i = 0; i < proListToTop.length; i++) {   if (e.detail.scrollTop < proListToTop[i] && i !== 0 && e.detail.scrollTop > proListToTop[i - 1]) {    return this.setDis(i)   }  }  // 找不到匹配項,默認顯示第一個數據  if (!MENU) {   this.setData({    currentActiveIndex: 0   })  }  MENU = 0 }, setDis(i) {  // 設置左側menu欄的選中狀態  if (i !== this.data.currentActiveIndex + 1 && !MENU) {   this.setData({    currentActiveIndex: i - 1   })  }  MENU = 0  this.setMenuAnimation(i) }, setMenuAnimation(i){  // 設置動畫,使menu滾動到指定位置。  let self = this    if (menuToTop[i]) {   console.log(11111)   // 節流操作   if(timeoutId){    clearTimeout(timeoutId)   }   timeoutId = setTimeout(()=>{    console.log(12138)    self.setData({     leftMenuTop: (menuToTop[i].top - windowHeight)    })   },50)  } else {   if (this.data.leftMenuTop === 0) return   this.setData({    leftMenuTop: 0   })  } }, getActiveReacts(){  wx.createSelectorQuery().selectAll('.menu-active').boundingClientRect(function (rects) {   return rects[0].top  }).exec() }, getAllRects() {   // 獲取商品數組的位置信息  wx.createSelectorQuery().selectAll('.pro-item').boundingClientRect(function (rects) {   rects.forEach(function (rect) {    proListToTop.push(rect.top)   })  }).exec()   // 獲取menu數組的位置信息  wx.createSelectorQuery().selectAll('.menu-item').boundingClientRect(function (rects) {   wx.getSystemInfo({    success: function (res) {     windowHeight = res.windowHeight / 2     rects.forEach(function (rect) {      menuToTop.push({       top: rect.top,       // animate:rect.top > windowHeight       })     })    }   })  }).exec() }, // 獲取系統的高度信息 getSystemInfo() {  let self = this  wx.getSystemInfo({   success: function (res) {    windowHeight = res.windowHeight / 2   }  }) }})

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久夜色精品国产欧美乱| 亚洲在线第一页| 精品国产自在精品国产浪潮| 在线观看欧美www| 亚洲综合在线做性| 欧美一区二区三区免费视| 欧美大秀在线观看| 久久久久久中文字幕| 成人www视频在线观看| 国产成人精品综合久久久| 国产精品自产拍高潮在线观看| 久久精品国产2020观看福利| 国产欧美精品xxxx另类| 中文字幕久久久av一区| 国产欧美精品一区二区三区-老狼| 日韩成人在线视频网站| 国产精品一区二区电影| 欧美日韩中文在线| 国色天香2019中文字幕在线观看| 久久精品国产精品| 国产91精品视频在线观看| xxx一区二区| 日韩高清电影免费观看完整| 亚洲国产精品久久精品怡红院| 欧美日韩国产专区| 日韩在线欧美在线| 日韩av在线免费播放| 日韩成人av在线| 国产精品三级网站| 国产精品爱啪在线线免费观看| 欧美疯狂xxxx大交乱88av| 日本久久久久久| 欧美一区亚洲一区| 国产精品a久久久久久| 亚洲人成毛片在线播放| 国产主播喷水一区二区| 国产精品99一区| 久久精品成人动漫| 一个人看的www欧美| 欧美一区在线直播| 日韩av最新在线观看| 亚洲国产又黄又爽女人高潮的| 欧美激情第1页| 国产精品露脸av在线| 亚洲国内精品在线| 91情侣偷在线精品国产| 美女国内精品自产拍在线播放| 91精品久久久久久久久久入口| 国产成人精品在线播放| 国产狼人综合免费视频| 国产精品第100页| 亚洲综合社区网| 成人在线激情视频| 麻豆乱码国产一区二区三区| 国产欧美在线看| 亚洲一区二区国产| 亚洲精品美女久久久| 欧美激情精品久久久| 中文字幕亚洲第一| 美女视频久久黄| 国产成人jvid在线播放| 亚洲精品国产精品久久清纯直播| 国产精品极品尤物在线观看| 欧美在线视频观看| 久久亚洲春色中文字幕| 国产精品精品视频| 国产精品入口免费视频一| 成人春色激情网| 国产成人在线一区二区| y97精品国产97久久久久久| 欧美福利在线观看| 一区二区三区在线播放欧美| 中文字幕国产精品久久| 日韩精品在线免费观看视频| 日韩欧美亚洲一二三区| 国产91精品高潮白浆喷水| 中文字幕精品久久久久| 精品久久久国产| www.色综合| 成人久久18免费网站图片| 欧美丰满少妇xxxxx做受| 日韩亚洲成人av在线| 亚洲永久免费观看| 热99久久精品| 国产精品流白浆视频| 国产欧美在线播放| 不卡av电影在线观看| 国产成人精品免费视频| 国产精品久久久久久久久久新婚| 欧美中文在线字幕| 欧美在线不卡区| 国产丝袜高跟一区| 2025国产精品视频| 亚洲激情小视频| 777午夜精品福利在线观看| 麻豆成人在线看| 色综合五月天导航| 国产精品成人免费视频| 亚洲缚视频在线观看| 欧美日韩一区二区在线播放| 久久艳片www.17c.com| 韩国三级日本三级少妇99| 亚洲精品国产精品国自产观看浪潮| 国产成人免费91av在线| 欧美日韩精品二区| 国产视频久久网| 亚洲男人的天堂网站| 亚洲毛片在线看| 欧美福利小视频| 久久韩剧网电视剧| 4p变态网欧美系列| 欧美日韩亚洲网| 亚洲黄页网在线观看| 一区二区国产精品视频| 欧美日韩国产中文精品字幕自在自线| 美女av一区二区三区| 国产一区欧美二区三区| 综合欧美国产视频二区| 美日韩精品视频免费看| 在线精品国产成人综合| 中文字幕欧美精品日韩中文字幕| 国产精品美乳在线观看| 日韩大片在线观看视频| 亚洲风情亚aⅴ在线发布| 国产精品久久久久久久久久免费| 久久中文字幕一区| 亚洲最大福利视频| 欧美一级电影免费在线观看| 亚洲天堂av图片| 精品自拍视频在线观看| 久久久久久国产精品三级玉女聊斋| 成人性教育视频在线观看| 北条麻妃一区二区在线观看| xxxx欧美18另类的高清| 精品久久久久久久久久久久久| 美乳少妇欧美精品| 视频在线观看一区二区| 538国产精品一区二区免费视频| 久久久久久12| 97国产精品视频人人做人人爱| 777午夜精品福利在线观看| 久久久在线视频| 亚洲国产91色在线| 奇门遁甲1982国语版免费观看高清| 日韩中文字幕免费看| 欧美肥老太性生活视频| 亚洲18私人小影院| 精品国产欧美一区二区五十路| 色狠狠av一区二区三区香蕉蜜桃| 91高清视频在线免费观看| 日韩欧美在线中文字幕| 97视频国产在线| 91国内揄拍国内精品对白| 日韩av免费看| 亚洲成人在线视频播放| 日韩日本欧美亚洲| 久久久av亚洲男天堂| 亚洲乱码国产乱码精品精天堂| 国产精品影片在线观看| 国产91精品久久久久久| 欧美国产日韩一区二区三区| 欧美尤物巨大精品爽| 国产成人短视频| 亚洲人成啪啪网站|