是否可以判断滚动事件是由浏览器还是由用户完成的?具体地,当使用后退按钮时,浏览器可以跳转到最后已知的滚动位置.如果我绑定滚动事件,我如何判断这是由用户还是浏览器引起的?
$(document).scroll( function(){
//who did this?!
});
Run Code Online (Sandbox Code Playgroud)
我看到三种导致浏览器滚动的情况.
element.scrollTo(x,y).在我给CSS的元素中overflow: scroll;.现在在jQuery中我希望它具有原始高度(包含所有子元素的高度).这个元素下的孩子是动态变化的.我想在滚动事件上有高度.这是代码:
$("#container").scroll(function(e) {
scrollAll();
});
function scrollAll(){
var elemHeight = $("#container").scrollHeight;
var scrollHeight = $("#scrollbars").scrollHeight;
var ratio = elemHeight / scrollHeight;
$("#outup").html( elemHeight +" and "+ scrollHeight +" ratio "+ ratio +" = "+ ($("#container").scrollTop()));
}
Run Code Online (Sandbox Code Playgroud)
问题:它抛出scrollHeight is undefined错误.怎么了?