微信小程序?qū)崿F(xiàn)左右列表聯(lián)動
本文實例為大家分享了微信小程序?qū)崿F(xiàn)左右列表聯(lián)動的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
直接上代碼:
wxml界面:
<view class='header'> <text class='headerClass'>分類</text> <text class='headerPin'>/品牌</text> <view class="search"> <image src='/images/搜索.png'></image> <text>搜索商品</text> </view> </view> <view class='main'> <view class='left'> <scroll-view scroll-y="true" style="height: 1100rpx" scroll-into-view="true" scroll-with-animation="true"> <block wx:for="{{leftText}}" wx:for-list="item"> <view class="{{classfiySelect == item.id?'active':''}}" data-id='{{item.id}}' bindtap='left_list'> <text>{{item.text1}}</text> </view> </block> </scroll-view> </view> <view class='right'> <scroll-view scroll-y="true" style="height: 1100rpx" bindscroll="scroll" scroll-top="{{scrollTop}}" scroll-into-view="{{'inToview'+rigId}}" scroll-with-animation="true"> <block wx:for="{{rightData}}" wx:for-list="item"> <view class='itemTitle' id="{{'inToview'+item.id}}">{{item.title}}</view> <view bindtap='particulars' class='listItem' data-id='{{item.id}}'> <block wx:for="{{item.frist}}"> <view class='listItem2' data-text="{{}}"> <view class='img'> <image src='{{item.url}}'></image> </view> <view class='listText'> <text>{{item.text}}</text> <text class='money'>¥{{item.money}}</text> <view> <text>已售{{item.sum}}</text> <button size='mini' bindtap='particulars'>立即搶購</button> </view> </view> </view> </block> </view> </block> </scroll-view> </view> </view>
js界面:
// pages/class/class.js Page({ /** * 頁面的初始數(shù)據(jù) */ data: { classfiySelect: "", leftText: [{ id: "01", text1: "美妝專區(qū)", }, { id: "02", text1: "面部清潔", }, { id: "03", text1: "洗護(hù)專區(qū)", }, { id: "04", text1: "面膜", }, { id: "05", text1: "口紅", }, { id: "06", text1: "美妝專區(qū)", }, { id: "07", text1: "面部清潔", }, { id: "08", text1: "洗護(hù)專區(qū)", }, { id: "09", text1: "面膜", }, { id: "010", text1: "口紅", }, { id: "011", text1: "美妝專區(qū)", }, { id: "012", text1: "面部清潔", }, { id: "013", text1: "洗護(hù)專區(qū)", }, { id: "014", text1: "面膜", }, { id: "015", text1: "口紅", }, { text1: "美妝專區(qū)", }, { text1: "面部清潔", }, { text1: "洗護(hù)專區(qū)", }, { text1: "面膜", }, { text1: "口紅", }, ], rightData: [{ id: "01", title: "美妝專區(qū)", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, id:1, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, id: 2, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, { id: "02", title: "面部清潔", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, { id: "03", title: "洗護(hù)專區(qū)", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, { id: "04", title: "面膜", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, { id: "05", title: "口紅", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, { id: "06", title: "美妝專區(qū)", frist: [{ url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, { url: "/images/85309.jpg", text: "卡姿蘭補(bǔ)水套裝", money: 200, sum: 20, }, ], }, ], }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function(options) { this.setData({ classfiySelect: this.data.leftText[0].id }) }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面隱藏 */ onHide: function() { }, /** * 生命周期函數(shù)--監(jiān)聽頁面卸載 */ onUnload: function() { }, /** * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作 */ onPullDownRefresh: function() { }, /** * 頁面上拉觸底事件的處理函數(shù) */ onReachBottom: function() { }, /** * 用戶點擊右上角分享 */ onShareAppMessage: function() { }, //滾動觸發(fā) scroll: function(e) { var scrollTop = e.detail.scrollTop, h = 0, classfiySelect; var that = this; that.data.leftText.forEach(function(clssfiy, i) { var _h =26 + that.length(clssfiy['id'])*102; if (scrollTop >= h){ classfiySelect = clssfiy['id']; } h +=_h; console.log(h); }) that.setData({ classfiySelect: classfiySelect, }) }, //求每一欄高度 length: function(e) { var that = this; var rightData = that.data.rightData; for (var i = 0; i < rightData.length; i++) { if(rightData[i]['id']==e){ return rightData[i]['frist'].length; } } }, //點擊左邊事件 left_list: function(e) { var that = this; var l_id = e.currentTarget.dataset.id; that.setData({ rigId: l_id, }) }, //跳轉(zhuǎn)詳情界面 particulars:function(e){ } })
wxss界面:
.header{ display: flex; background-color: rgba(219, 219, 221, 0.884); align-items: center; height: 60rpx; } .active{ color: red; } .header .headerClass{ color: red; margin-left: 20rpx; } .header .headerClass, .header .headerPin{ font-size: 28rpx; } .search{ display: flex; height: 46rpx; border-radius: 20rpx; margin-left: 30rpx; background-color:white; width: 70%; } .search text{ color: gainsboro; font-family: monospace; font-size: 30rpx; line-height: 46rpx; } .search image{ padding-left:50rpx; width: 46rpx; height: 46rpx; } .main{ display: flex; } .left{ width: 25% } .left view{ padding-top: 30rpx; text-align: center; } .right{ width: 75%; } .listItem2{ display: flex; } .listItem .img{ width: 200rpx; height: 200rpx; text-align: center; padding-top: 10rpx; } .listItem .img image{ width: 80%; height: 80% } .itemTitle{ font-size: 32rpx; padding-left: 20rpx; padding-top: 10rpx; color:gray; } .listItem .listText{ display: flex; flex-direction: column; margin-top: 6rpx; } .listItem .listText view{ display: flex; align-items: flex-end; } .listItem .listText text{ font-size: 34rpx; margin-top: 10rpx; } .listItem .listText .money{ color: red; } .listItem .listText view text{ font-size: 28rpx; color :silver; margin-right: 60rpx; } .listItem .listText view button{ background-color: red; color: white; padding-right: 8px; padding-left: 8px; padding-top: 0px; } ::-webkit-scrollbar { width: 6px; height: 6px; background-color: #ffffff; } ::-webkit-scrollbar-track{ height: 20rpx; color: black; }
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
gameboy網(wǎng)頁闖關(guān)游戲(riddle webgame)--仿微信聊天的前端頁面設(shè)計和難點
本文講如何在網(wǎng)頁端實現(xiàn)一個仿微信的聊天窗口界面, 以及其中涉及到的一些技術(shù)點. 對gameboy闖關(guān)游戲相關(guān)知識感興趣的朋友參考下2016-02-02Selenium執(zhí)行Javascript腳本參數(shù)及返回值過程詳解
這篇文章主要介紹了Selenium執(zhí)行Javascript腳本參數(shù)及返回值過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04js動態(tài)生成按鈕并動態(tài)生成8位隨機(jī)數(shù)
用js生成按鈕,動態(tài)生成8位隨機(jī)數(shù)的腳本2008-09-09一個網(wǎng)頁標(biāo)題title的閃動提示效果實現(xiàn)思路
通過網(wǎng)頁title來提示用戶有新消息這個功能很常見,下面有個不錯的示例,大家可以參考下2014-03-03