微信小程序scroll-view仿拼多多橫向滑動滾動條
更新時間:2020年04月21日 16:49:46 作者:hanxue_tyc
這篇文章主要為大家詳細介紹了微信小程序scroll-view仿拼多多橫向滑動滾動條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序橫向滑動滾動條的具體代碼,供大家參考,具體內(nèi)容如下
效果圖
實現(xiàn)代碼
index.wxml
<scroll-view scroll-x="true" class="scroll-view-x" style="padding-top:10rpx" scroll-with-animation="true" wx:if="{{tlist[currentTab].secondList}}" scroll-left='0' bindscroll="getleft"> <!--內(nèi)容區(qū)域--> <view> <view class="navigator_second" wx:for="{{tlist[currentTab].secondList}}" wx:for-item="childItem" bindtap="getProductList" data-id="{{childItem.id}}"> <image class="navigator_icon" src="{{childItem.icon}}"></image> <text class="navigator_text">{{childItem.name}}</text> </view> </view> <view wx:if="{{tlist[currentTab].thirdList}}"> <view class="navigator_second" wx:for="{{tlist[currentTab].thirdList}}" wx:for-item="childItem" data-id="{{childItem.id}}" bindtap="getProductList"> <image class="navigator_icon" src="{{childItem.icon}}" ></image> <text class="navigator_text">{{childItem.name}}</text> </view> </view> </scroll-view > <!--滾動條部分--> <view wx:if="{{slideShow}}" class="slide"> <view class='slide-bar' > <view class="slide-show" style="width:{{slideWidth}}rpx; margin-left:{{slideLeft<=1 ? 0 : slideLeft+'rpx'}};"></view> </view> </view>
index.js
//獲取應(yīng)用實例 var app = getApp(); Page({ data: { navigate_type:'',//分類類型,是否包含二級分類 slideWidth:'',//滑塊寬 slideLeft:0 ,//滑塊位置 totalLength:'',//當前滾動列表總長 slideShow:false, slideRatio:'' }, onLoad: function () { var self = this ; var systemInfo = wx.getSystemInfoSync() ; self.setData({ list: _list, windowHeight: app.globalData.navigate_type == 1 ? systemInfo.windowHeight : systemInfo.windowHeight - 35, windowWidth: systemInfo.windowWidth, navigate_type: app.globalData.navigate_type }) //計算比例 self.getRatio(); }, //根據(jù)分類獲取比例 getRatio(){ var self = this ; if (!self.data.tlist[self.data.currentTab].secondList || self.data.tlist[self.data.currentTab].secondList.length<=5){ this.setData({ slideShow:false }) }else{ var _totalLength = self.data.tlist[self.data.currentTab].secondList.length * 150; //分類列表總長度 var _ratio = 230 / _totalLength * (750 / this.data.windowWidth); //滾動列表長度與滑條長度比例 var _showLength = 750 / _totalLength * 230; //當前顯示紅色滑條的長度(保留兩位小數(shù)) this.setData({ slideWidth: _showLength, totalLength: _totalLength, slideShow: true, slideRatio:_ratio }) } } , //slideLeft動態(tài)變化 getleft(e){ this.setData({ slideLeft: e.detail.scrollLeft * this.data.slideRatio }) } })
index.wxss
.scroll-view-x{ background-color: #fff; white-space: nowrap; } .navigator_second{ width:150rpx; text-align:center; display:inline-block; height:115rpx; } .navigator_icon{ width:60rpx; height:60rpx; } .navigator_text{ display:block; width:100%; font-size:24rpx } .slide{ height:30rpx; background:#fff; with:100%; padding:14rpx 0 5rpx 0 } .slide .slide-bar{ width:230rpx; margin:0 auto; height:1.5px; background:#eee; } .slide .slide-bar .slide-show{ height:100%; background-color:#ff6969; }
項目地址:微信小程序橫向滑動滾動條
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
Javascript ES6中對象類型Sets的介紹與使用詳解
這篇文章主要給大家介紹了關(guān)于Javascript ES6中Sets的介紹與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-07-07JavaScript防抖與節(jié)流的實現(xiàn)與注意事項
防抖和節(jié)流嚴格算起來應(yīng)該屬于性能優(yōu)化的知識,但實際上遇到的頻率相當高,處理不當或者放任不管就容易引起瀏覽器卡死,下面這篇文章主要給大家介紹了關(guān)于JavaScript防抖與節(jié)流的實現(xiàn)與注意事項,需要的朋友可以參考下2022-03-03HTML+CSS+JS實現(xiàn)的簡單應(yīng)用小案例分享
這篇文章主要為大家分享四個用HTML+CSS+JS實現(xiàn)的簡單應(yīng)用小案例,有:猜數(shù)字、表白墻、切換日夜間模式和待辦事項,需要的可以參考一下2022-02-02JavaScript基礎(chǔ)進階之數(shù)組方法總結(jié)(推薦)
下面小編就為大家?guī)硪黄狫avaScript基礎(chǔ)進階之數(shù)組方法總結(jié)(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09JS Array.from()將偽數(shù)組轉(zhuǎn)換成數(shù)組的方法示例
這篇文章主要介紹了JS Array.from()將偽數(shù)組轉(zhuǎn)換成數(shù)組的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03