ホームページ  >  に質問  >  本文

javascript - javascrip如何获取滚动条长度?

初接触javascript,正在用Flask做一个网站。
我想做一个下拉自动加载的效果,但网上找到的例子都没有成功。

$(document).ready(function(){//DOM的onload事件

    $(window).scroll( function() {//定义滚动条位置改变时触发的事件。
        //alert("scroll!");
        top = getSP(); //top为获取的滚动条长度
        alert(top);

        setInterval("cando();", 2000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。
    });

});
//跨浏览器获取滚动条位置,sp == scroll position
    function getSP(){
        return{
            top: document.documentElement.scrollTop || document.body.scrollTop,
            //left : document.documentElement.scrollLeft || document.body.scrollLeft;
        }
    }

代码参考JavaScript 经典实例收集整理

scroll时间是可以触发的,但是滚动后弹框显示undefined
测试浏览器为chromesafari
请问哪位可以告知怎么获取滚动条的长度呢,这个长度获取的是整个页面的长度还是body的长度呢?
还望赐教。

PHPzPHPz2773日前790

全員に返信(1)返信します

  • ringa_lee

    ringa_lee2017-04-10 17:05:30

    $(document).ready(function(){//DOM的onload事件

    $(window).scroll( function() {//定义滚动条位置改变时触发的事件。
        //alert("scroll!");
        scrotop = getSP(); //top为获取的滚动条长度
        alert(scrotop.top);
    
        setInterval("cando();", 2000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。
    });
    

    });

    你返回的是一个对象,我们需要获取对象里面top的值,而外层top变量重复了,需要更换一个名称,这样就可以了

    返事
    0
  • キャンセル返事