所謂彈性滾動就是指在翻動長頁面手指離開時,有由慢到塊,由快到慢的過分。css
安卓平臺上的大多數瀏覽器都默認了該行爲ios
ios當前還只對<body>下的 overflow 默認產生彈性滾動效果web
前一陣子作了一個手機官網,用到了 <div> 中的 overflow,再調試 ios 中遇到了彈性滾動的問題:瀏覽器
ios 下 webkit 彈性滾動 css 指令 -webkit-overflow-scrolling: touch;session
該指令再切換一樣須要作滾動處理的 div 是會遇到一下狀況調試
1. 伴隨着上一個滾動而滾動 rem
2. 起始定位誤差 get
3. 粘滯的阻塞感(失去焦點)it
解決方案:io
.session{
-webkit-overflow-scrolling: touch;
}
1. 切換標籤的同時去掉元素的 overflow-scrolling 屬性
$('.session').removeClass('sollow');
2. 切換標籤同時對目標 div 作初始化
document.getElementById('target').scrollTop = '0px'; // 根據須要添加
3. 將sollow從新加載到目標元素上
$('.session:eq(' + tar + ')').addClass('display sollow');