0

我一直在寻找几个小时,却一无所获。

我正在检测用户滚动位置beforeunload并将其保存到 cookie(使用插件)。页面刷新后,页面现在应该滚动到这个位置,但它没有。

我可以看到位置已保存,我也可以在alert().

scrollTop适用于“硬数字”,但不适用于 cookie 中的数据。

parseInt也无济于事。

任何想法为什么?提前非常感谢!


此代码不起作用:

window.onload = function() {
    setTimeout(function() {
    $(document).scrollTop(300);
}, 100);

这行得通

vari = $.cookie("scrollTil");

window.onload = function() {
    setTimeout(function() {
    $(document).scrollTop(vari);
}, 100);

编:

$(document).ready(function(){

vari = $.cookie("scrollTil");

window.onload = function() {
    setTimeout(function() {
        $(document).scrollTop(vari);
    }, 100);
}

$(window).unload(function(){
    $.cookie("scrollTil", $(window).scrollTop());
})
});
4

1 回答 1

0

你的代码很好。但它并没有像你预期的那样工作,因为你在 $(window).unload(function() 中调用的 $(window).scrollTop() 总是返回 0。

当用户完成滚动时,您应该捕获滚动位置。您可以在此处找到解决方法

Javascript:用户完成滚动后执行操作

于 2013-04-12T03:02:47.440 回答