首页 新闻 搜索 专区 学院

isScroll.js在部分手机滑不动,僵硬不流畅

0
[已解决问题] 解决于 2017-04-24 15:36

    这是我代码中isScroll的一部分:

  $(document).ready(function(){
            var allHeight = parseInt(document.documentElement.clientHeight);
            var headHeight = parseInt($('#header').css("height"));
            //isScroll容器样式设置
            $("#wrapper").css({
                 'position':'initial',
                 'height':allHeight-headHeight-200,
                 'overflow':'hidden'
            });
            var myscroll;
            function loaded(){
                setTimeout(function(){
                    myscroll=new iScroll("wrapper",{
                        hscrollbar:false,
                        vscrollbar:false,
                        hscroll:false,
                        vscroll:true,
                        momentum:false,
                        snap:true,
                        preventDefault:false,
                        checkDOMChanges:true,
                        mouseWheel:true, //侦听鼠标滚轮事件
                        //重写这个方法,因为isScroll让输入框禁用了
                        onBeforeScrollStart: function (e) {
                            var target = e.target;
                            while (target.nodeType != 1) target = target.parentNode;
                            if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
                                e.preventDefault();
                            }
                    });
                },100 );
            }
            
            window.addEventListener("load",loaded,false);
            myscroll.refresh();
            document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
        });

  请问,有什么问题吗?求解答

红枣味酸奶的主页 红枣味酸奶 | 菜鸟二级 | 园豆:218
提问于:2017-04-24 13:34
< >
分享
最佳答案
0

ready事件:

ready事件在DOM结构绘制完成之后就绘执行。这样能确保就算有大量的媒体文件没加载出来,JS代码一样可以执行。

load事件:

load事件必须等到网页中所有内容全部加载完毕之后才被执行。如果一个网页中有大量的图片的话,则就会出现这种情况:网页文档已经呈现出来,但由于网页数据还没有完全加载完毕,导致load事件不能够即时被触发。
 
是不是这里问题 看一下加载顺序
奖励园豆:5
流年过往 | 菜鸟二级 |园豆:464 | 2017-04-24 13:48

目前解决了,把最下面的一行代码注释掉就好了

 document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

红枣味酸奶 | 园豆:218 (菜鸟二级) | 2017-04-24 14:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册