当我到达页面顶部时,如何启动JavaScript或jQuery事件?

时间:2013-02-27 21:47:33

标签: javascript jquery

我有一个简单的问题,但我找不到解决方案...... 我只是想在我向上滚动页面时启动一个事件(执行一个方法),然后“触摸”它的顶部。我在我的页面中使用JavaScript和jQuery。提前谢谢!

3 个答案:

答案 0 :(得分:9)

您应该为此目的使用滚动事件:

$(window).scroll(function() {
    if ($(this).scrollTop() == 0) {
        //Do whatever you want to do
    }
});

你应该注意的一点是,当某人连续滚动到顶部时,偶数将会被触发,虽然你只想在顶部被击中时想要它,为此你可以将事件处理程序定义为函数并放置最后一个scrolltop将值转换为函数局部变量。

$(window).scroll(handleHitTop);

function handleHitTop(event) {
    var currentScrollTopValue = $(this).scrollTop();

    if (handleHitTop.lastTop === undefined) {
        handleHitTop.lastTop = currentScrollTopValue ;

        return;
    }

    if (handleHitTop.lastTop == 0 && currentScrollTopValue == 0) {
        return;
    }

    handleHitTop.lastTop = currentScrollTopValue;

    if (handleHitTop.lastTop == 0) {
        //Call your event here
    }
}

答案 1 :(得分:8)

使用onscroll事件。纯粹的js例子:

window.onscroll = function() {
    if(document.body.scrollTop == 0) {
        alert('yay!');
    }
}

http://jsfiddle.net/kuWuf/

答案 2 :(得分:6)

使用.scroll()处理程序和.scrollTop()

$(window).scroll( function() {
    if($(this).scrollTop() == 0) {
        alert("Top!!!");
    }
});

http://jsfiddle.net/jtbowden/wvJ9r/