微信小程序scroll-view實現(xiàn)自定義滾動條
更新時間:2022年06月30日 17:05:29 作者:let_me_shy葒
這篇文章主要為大家詳細介紹了微信小程序scroll-view實現(xiàn)自定義滾動條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序scroll-view實現(xiàn)自定義滾動條的具體代碼,供大家參考,具體內容如下
html
<!-- 九宮格 --> ? <scroll-view class="my-grid" scroll-x="true" bindscroll="getleft"> ? ? <view class="grid-item" wx:for="{{gridlist}}" wx:key="index"> ? ? ? ?<text>{{item.name}}</text> ? ? </view> ? </scroll-view> ? <!--滾動條部分--> ? <view class="slide"> ? ? <view class='slide-bar' > ? ? ? <view class="slide-show" style="width:{{slideWidth}}rpx; margin-left:{{slideLeft<=1 ? 0 : slideLeft+'rpx'}};"></view> ? ? </view> </view>
js
Page({ ? data: { ? ? slideWidth:'',//滑塊寬 ? ? slideLeft:0 ,//滑塊位置 ? ? slideRatio:'', ? ? windowWidth:'', ? ? gridlist:[ ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ? {name:'家樂福'}, ? ? ] ? }, ? onLoad: function() { ? ? var self = this ; ? ? var systemInfo = wx.getSystemInfoSync() ; ? ? self.setData({ ? ? ? windowWidth:systemInfo.windowWidth ? ? }); ? ? self.getRatio(); ? }, ? //根據分類獲取比例 ? getRatio(){ ? ? var self = this ; ? ? var _totalLength = self.data.gridlist.length * 150; //分類列表總長度 ? ? var _ratio = 230 / _totalLength * (750 / this.data.windowWidth); //滾動列表長度與滑條長度比例 ? ? var _showLength = 750 / _totalLength * 230; //當前顯示紅色滑條的長度(保留兩位小數(shù)) ? ? console.log(_totalLength,_ratio,_showLength) ? ? this.setData({ ? ? ? slideWidth: _showLength, ? ? ? totalLength: _totalLength, ? ? ? slideRatio:_ratio ? ? }) ? } , ? getleft:function(e){ ? ? this.setData({ ? ? ? slideLeft: e.detail.scrollLeft * this.data.slideRatio ? ? }) ? }, })
css
/* 九宮格樣式 */ .my-grid{ ? width: 100%; ? height: 220rpx; ? background-color: #00bfff; ? white-space: nowrap; } .my-grid .grid-item{ ? width:150rpx; ? text-align:center; ? display:inline-block; ? height:115rpx; } .slide{ ? height:30rpx; ? background:#fff; ? width: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; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
uniapp中解析markdown支持網頁和小程序實現(xiàn)示例
這篇文章主要為大家介紹了uniapp中解析markdown支持網頁和小程序實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09Three.js利用orbit controls插件(軌道控制)控制模型交互動作詳解
這篇文章主要給大家介紹了關于Three.js利用orbit controls插件,也就是軌道控制來控制模型交互動作的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-09-09