微信小程序組件之srcoll-view的詳解
微信小程序組件之srcoll-view的詳解
今天記錄一下scroll-view學(xué)習(xí)中遇到的問題及解決辦法,希望能對其他同學(xué)有所幫助。
首先展示一下想達(dá)到的效果?!?vertical scroll實(shí)現(xiàn)上下滾動(dòng),horizontal實(shí)現(xiàn)左右滾動(dòng)。
先附上wxml的代碼。
<view class="container"> <view> <text>vertical scroll</text> <scroll-view scroll-y class="scroll-view-y" scroll-top="{{scrollTop}}"> <view id="green" class="scroll-y-item bg_green"></view> <view id="red" class="scroll-y-item bg_red"></view> <view id="blue" class="scroll-y-item bg_blue"></view> <view id="yellow" class="scroll-y-item bg_yellow"></view> </scroll-view> </view> <view> <text>horizontal scroll</text> <scroll-view scroll-x class="scroll-view-x" style="width:100%"> <view class="scroll-view-x"> <view class="scroll-x-item bg_green"></view> <view class="scroll-x-item bg_red"></view> <view class="scroll-x-item bg_blue"></view> <view class="scroll-x-item bg_yellow"></view> </view> </scroll-view> </view> </view>
1.整個(gè)界面由一個(gè)view包裝起來,該view的class為創(chuàng)建quickStart時(shí)自帶,可根據(jù)需要自己調(diào)整。之后,兩個(gè)view各包裝一個(gè)scrollview及其上面的text文本。
2.第一個(gè)scroll-view需豎直滾動(dòng),為其設(shè)置scroll-y="{{true}}"(或者直接寫scroll-y)。該scrollview的class為“scroll-view-y”,之后會(huì)附上代碼。scroll-top屬性設(shè)置滾動(dòng)條的初始位置,scrollTop在js文件的data中聲明賦值(不需要可去掉)。
3.scrollview中四個(gè)不用顏色的view,除顏色外其他屬性相同。
為豎直scrollview的wxss代碼
.scroll-view-y { height: 200px; width: 100%; } .scroll-y-item { height: 70px; width: 100%; }
4.水平方向的scrollview與豎直方向基本類似,著重說一下區(qū)別。
(1) 豎直方向的scrollview直接包住4個(gè)不同顏色的view,水平方向需要先用view包住各顏色塊,這是為了保證各顏色塊水平排布。
(2) wxss文件
為水平scrollview的wxss代碼,scroll-view-x為水平滑塊的屬性,scroll-x-item為水平滑塊中各顏色塊的屬性。
.scroll-view-x { width: 300px; height: 100px; display: flex; overflow: scroll; } .scroll-x-item { width: 95px; height: 100%; display: inline-table; }
可以看到:
①水平滑塊多了兩個(gè)屬性,display和overflow。display設(shè)置為flex彈性伸縮顯示,overflow設(shè)置當(dāng)子布局超出父容器時(shí)scroll展示。
②顏色塊display屬性設(shè)置為 inline-table,這個(gè)很重要?。?!最開始沒有寫這個(gè)屬性,很久都無法實(shí)現(xiàn)scrollview的水平滑動(dòng)。在我不斷的嘗試下,終于試出來了,很開心!吐舌頭
附上微信官方屬性說明↓
屬性名 | 類型 | 默認(rèn)值 | 說明 |
---|---|---|---|
scroll-x | Boolean | false | 允許橫向滾動(dòng) |
scroll-y | Boolean | false | 允許縱向滾動(dòng) |
upper-threshold | Number | 50 | 距頂部/左邊多遠(yuǎn)時(shí)(單位px),觸發(fā) scrolltoupper 事件 |
lower-threshold | Number | 50 | 距底部/右邊多遠(yuǎn)時(shí)(單位px),觸發(fā) scrolltolower 事件 |
scroll-top | Number | 設(shè)置豎向滾動(dòng)條位置 | |
scroll-left | Number | 設(shè)置橫向滾動(dòng)條位置 | |
scroll-into-view | String | 值應(yīng)為某子元素id(id不能以數(shù)字開頭)。設(shè)置哪個(gè)方向可滾動(dòng),則在哪個(gè)方向滾動(dòng)到該元素 | |
scroll-with-animation | Boolean | false | 在設(shè)置滾動(dòng)條位置時(shí)使用動(dòng)畫過渡 |
enable-back-to-top | Boolean | false | iOS點(diǎn)擊頂部狀態(tài)欄、安卓雙擊標(biāo)題欄時(shí),滾動(dòng)條返回頂部,只支持豎向 |
bindscrolltoupper | EventHandle | 滾動(dòng)到頂部/左邊,會(huì)觸發(fā) scrolltoupper 事件 | |
bindscrolltolower | EventHandle | 滾動(dòng)到底部/右邊,會(huì)觸發(fā) scrolltolower 事件 | |
bindscroll | EventHandle | 滾動(dòng)時(shí)觸發(fā),event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- 微信小程序 (八)View組件詳細(xì)介紹
- 微信小程序(九)scroll-view組件詳細(xì)介紹
- 微信小程序 picker-view 組件詳解及簡單實(shí)例
- 微信小程序 scroll-view組件實(shí)現(xiàn)列表頁實(shí)例代碼
- 微信小程序新增的拖動(dòng)組件movable-view使用教程
- 詳解微信小程序 通過控制CSS實(shí)現(xiàn)view隱藏與顯示
- 微信小程序 wxapp視圖容器 view詳解
- 微信小程序 教程之wxapp 視圖容器 view
- 微信小程序?qū)崿F(xiàn)動(dòng)態(tài)改變view標(biāo)簽寬度和高度的方法【附demo源碼下載】
相關(guān)文章
超越Node.js的JavaScript運(yùn)行環(huán)境Bun.js功能特性詳解
這篇文章主要為大家介紹了超越Node.js的JavaScript運(yùn)行環(huán)境Bun.js功能特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09JavaScript自動(dòng)化測試添加頁面DOM元素唯一ID方案示例
這篇文章主要為大家介紹了JavaScript自動(dòng)化測試添加頁面DOM元素唯一ID方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09js 實(shí)現(xiàn)驗(yàn)證碼輸入框示例詳解
這篇文章主要為大家介紹了js 實(shí)現(xiàn)驗(yàn)證碼輸入框示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09瀏覽器切換到其他標(biāo)簽頁或最小化js定時(shí)器是否準(zhǔn)時(shí)測試
這篇文章主要為大家介紹了瀏覽器切換到其他標(biāo)簽頁或最小化是js定時(shí)器是否準(zhǔn)時(shí)的測試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07JS前端使用canvas實(shí)現(xiàn)物體的點(diǎn)選示例
這篇文章主要為大家介紹了JS前端使用canvas實(shí)現(xiàn)物體的點(diǎn)選示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08