Rumah > Soal Jawab > teks badan
初接触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
。
测试浏览器为chrome
和safari
。
请问哪位可以告知怎么获取滚动条的长度呢,这个长度获取的是整个页面的长度还是body的长度呢?
还望赐教。
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变量重复了,需要更换一个名称,这样就可以了