移動端重構系列8 滾動

2021-09-06 17:33:56 字數 1146 閱讀 2861

本系列文章,如果沒有特別說明,相容安卓4.0.4+

原生滾動的屬性為:-webkit-overflow-scrolling:touch;,如果是走高富帥的蘋果路線,是沒問題的,誰讓這是人家親生的呢;如果是安卓的話,我真不知道是支援還是不支援,說不支援吧好像有點緩動效果,說支援吧好像把這條屬性砍掉也一樣,感興趣的可以自己測試下(新增或刪除這個屬性對比下)

原生滾動支援測試:

既然原生的安卓上不太靠譜,那就有必要用js來解決了,因為本人不擅長js,所以直接上iscroll,現在iscroll也已經到第五版本了,iscroll的github上有很全的例子,雖然比較簡單,不過入門還是不錯的。這裡我也搞了兩個demo,在demo之前,有必要先說明下使用iscroll應該注意的一些事項:

html結構方面

iscroll要求至少兩層結構,wrap是乙個固定的容器,overflow為hidden,而scroll為滾動的內容,如果開啟translate(預設開啟),則使用translate來實現偏移滾動,如果沒有則使用left/top來實現偏移滾動。如果wrap下面有多個直接子元素,即scroll有其他兄弟元素則只對第乙個子元素滾動,其他的自動忽略。(wrap和scroll的class是隨便的,主要就是得有兩層結構)

... div> div> 

如圖:

css樣式方面

除了要求wrap有寬高及overflow為hidden,還得對scroll元素設定position為relative或absolute,這樣才能設定偏移。

js方面

window.addeventlistener('load',function()); document.addeventlistener('touchmove', function(e) , false);

獻上兩個簡單的demo:

由於本人的js水平實在有限,關於這個我也分析不出來什麼來龍去脈,摘錄幾篇文章以供想學習的參考下吧。下面的資料都是iscroll 4的。(雖然官網已經介紹的足夠好了,但iscroll的坑還是很多的,多看看總不賴)

移動端重構系列12 popup

本系列文章,如果沒有特別說明,相容安卓4.0.4 popup分為兩種 一種是內容比較多,直接以全屏顯示,如圖一 一種是少量內容的popup提示,如圖二 先上demo popup測試 第一種形式,設計結構如下 header section div footer span div div section...

移動端滾動穿透問題

一 body。一般pc端這樣就行了,但在移動端可就不行了,因為他有touchmove。二 可以阻止彈層的touchmove事件,但如果你的彈層內的內容需要滑動,這種方法pass document.body.addeventlistener touchmove function e 三 後來找到乙個比...

封裝移動端滾動元件

最近專案需要用到下拉重新整理,上拉載入 開始想到better scroll 畢竟用的人也挺多的,但是,我使用了之後,bug奇奇怪怪,讓我無從下手,去解決,bug就不舉例了 所以就用了這樣的方法,webkit overflow scrolling 屬性控制元素在移動裝置上是否使用滾動回彈效果.auto...