检测div何时触及顶部jquery

时间:2014-07-19 09:22:59

标签: javascript jquery

我试图通过Jquery / Javascript检测div何时位于页面顶部。任何想法,我可能会从哪里开始?

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery监听滚动事件,每次更改时,获取div的偏移值并将其与0进行比较。

答案 1 :(得分:0)

我会使用这样的函数:

function elementAtViewportTop(elem) {
    if(!elem || typeof elem !== "object") return false;
    if(elem instanceof jQuery) elem = elem[0];

    var elemClientRect = elem.getBoundingClientRect();

    return (elemClientRect.top <= 0 && elemClientRect.top > -(elemClientRect.height));
}
如果元素到达窗口顶部(getBoundingClientRect()),

elem.getBoundingClientRect().top将为零。 当您添加一个事件监听器以滚动到窗口并在元素上每次调用该函数时,它将正常工作:

Demo