相关疑难解决方法(0)

检测滚动事件是否由用户创建

是否可以判断滚动事件是由浏览器还是由用户完成的?具体地,当使用后退按钮时,浏览器可以跳转到最后已知的滚动位置.如果我绑定滚动事件,我如何判断这是由用户还是浏览器引起的?

$(document).scroll( function(){ 
    //who did this?!
});
Run Code Online (Sandbox Code Playgroud)

我看到三种导致浏览器滚动的情况.

  1. 用户执行某些操作.例如,使用鼠标滚轮,箭头键,向上/向下翻页键,主页/结束键.
  2. 浏览器自动滚动.例如,在浏览器中使用后退按钮时,它将自动跳转到上一个已知的滚动位置.
  3. Javascript滚动.例如,element.scrollTo(x,y).

javascript jquery

71
推荐指数
3
解决办法
3万
查看次数

元素的scrollheight给出未定义的值

在我给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错误.怎么了?

javascript jquery

11
推荐指数
2
解决办法
3万
查看次数

标签 统计

javascript ×2

jquery ×2