手機端局部滾動問題 overflow-y:auto|scroll無效,使用iscroll解決


            var myScroll;
            function loadedscr() {
                setTimeout(function () {
                    // 各種參數可以查看相關文檔
// IScroll默認隱藏了其所包含元素的click/tap事件,所以默認情況下,不管用戶不管怎么操作,都不能觸發IScroll中元素的click/tap事件,解決方案:在初始化IScroll時,對IScroll進行配置click: true, tap: true
myScroll = new IScroll('#myscroller_rapper', {mouseWheel: true, scrollY: true, scrollbars: true,freeScroll: true,click: true, tap: true}); }); } // 防止頁面未加載完成,導致取不到高寬值 window.addEventListener('load', loadedscr, false); /* // 如果是圖片可能需要圖片加載完成才能獲取到高寬值 document.getElementById('imgid').onload = loadedscr; // 取消事件的默認動作,如果需要的話 document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); */

需要注意的是:假如是縱向滾動:<div id="myscroller_rapper" style="overflow-y:auto;height:540px;-webkit-overflow-scrolling: touch;"></div>滾動框元素必須有高度默認滾動的是它的第一個子元素(也需要能計算出高度,圖片需要加載完成才能計算高寬),多個子元素可以使用<div></div>進行包裹且必須給定高度

IScroll默認隱藏了其所包含元素的click/tap事件,所以默認情況下,不管用戶不管怎么操作,都不能觸發IScroll中元素的click/tap事件,解決方案:在初始化IScroll時,對IScroll進行配置click: true, tap: true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM