jQuery存储滚动位置

时间:2010-12-29 16:11:27

标签: jquery scroll

我有几个像这样的点击语句

$('.button1').click(function() {
//grab current scroll position  
    var currentscrollpos = $(window).scrollTop()

    $("html, body").animate({ scrollTop: 0 }, 500);

});

$('.button2').click(function() {
    //go back to scroll position
    $("html, body").animate({ scrollTop: currentscrollpos }, 500);

});

我不知道如何获取当前滚动pos并将其存储在变量中,以便我可以在其他点击功能中使用它

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:6)

在外部作用域中定义变量,使其可用于其他函数:

var currentscrollpos;

$('.button1').click(function() {
    currentscrollpos = $(window).scrollTop()
    $("html, body").animate({ scrollTop: 0 }, 500);
});

$('.button2').click(function() {
    $("html, body").animate({ scrollTop: currentscrollpos }, 500);
});

你可以而且应该将它包装到一个闭包中以防止用不必要的变量污染命名空间,但这应该至少让你开始。