Javascript 当我在浏览器中点击refresh时,我丢失了jquery编程

Javascript 当我在浏览器中点击refresh时,我丢失了jquery编程,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,如果您查看并向下滚动页面大约50像素左右,您将看到屏幕左侧有一个div滑出。我已经设法复制了这种效果,但有一件事我没有意识到;当您在我的页面上点击refresh时,我的jquery编程将重置。我不想发生这种事。它工作得很好。在他们的页面上,当向下滚动50像素时,左导航出现,即使点击“刷新”,左导航仍然存在。只有当用户滚动回页面顶部时,左导航才会消失 当前工作情况:用户在“我的页面”上向下滚动296像素,左侧导航滑出,用户将滚动条带回到页面顶部(像素小于25),左侧导航滑回并消失。这一切都在起作用

如果您查看并向下滚动页面大约50像素左右,您将看到屏幕左侧有一个div滑出。我已经设法复制了这种效果,但有一件事我没有意识到;当您在我的页面上点击refresh时,我的jquery编程将重置。我不想发生这种事。它工作得很好。在他们的页面上,当向下滚动50像素时,左导航出现,即使点击“刷新”,左导航仍然存在。只有当用户滚动回页面顶部时,左导航才会消失

当前工作情况:用户在“我的页面”上向下滚动296像素,左侧导航滑出,用户将滚动条带回到页面顶部(像素小于25),左侧导航滑回并消失。这一切都在起作用

什么不起作用:但假设用户向下滚动296像素,左侧导航滑出,然后用户在查看页面时点击刷新。在这种情况下,左导航消失了。我的jquery编程被重置了。我希望当用户达到296像素或更大时,即使用户点击刷新,左导航也始终可见

我的代码如下。我希望我的问题有道理,我欢迎任何帮助。多谢各位

$(window).scroll(function () {
    var wintop = $(window).scrollTop();
    var docheight = $(document).height();
    var winheight = $(window).height();

    var newwidthgrow = 80;
    var smallheight = 0;
    var smallwidth = 0;

    //var expanded = "false";
    if ((wintop > 296)) {
        //expanded = "true";
        $("#slidebottom").stop().animate({
            height: docheight + "px"
        }, 'fast', function () {
            $("#slidebottom").stop().animate({
                width: newwidthgrow + "px"
            }, 'slow', function () {
                $("#slidebottomContents").fadeIn();
            });
        });
    }

    if ((wintop < 25)) {
        //expanded = "false";
        $("#slidebottom").stop().animate({
            height: docheight + "px"
        }, 'fast', function () {
            $("#slidebottomContents").fadeOut(function () {
                $("#slidebottom").stop().animate({
                    width: smallwidth + "px"
                });
            });
        });
    }
});
$(窗口)。滚动(函数(){
var wintop=$(window.scrollTop();
var docheight=$(document).height();
var winheight=$(window.height();
var=80;
var smallheight=0;
var-smallwidth=0;
//var expanded=“false”;
如果((wintop>296)){
//expanded=“true”;
$(“#slidebottom”).stop().animate({
高度:八度+px
},“快速”,函数(){
$(“#slidebottom”).stop().animate({
宽度:newwidthgrow+“px”
},“慢”,函数(){
$(“#SlideBottomContent”).fadeIn();
});
});
}
如果((wintop<25)){
//expanded=“false”;
$(“#slidebottom”).stop().animate({
高度:八度+px
},“快速”,函数(){
$(“#SlideBottomContent”).fadeOut(函数(){
$(“#slidebottom”).stop().animate({
宽度:smallwidth+“px”
});
});
});
}
});

将此窗口滚动功能放在单独的位置。从“窗口滚动”和“文档准备”调用它。这将确保在滚动页面和加载/刷新页面时检查用户的位置。

如果您不想在重新加载页面时使用服务器端来固定位置,则可以使用cookie来解决此问题。

如果在刷新之前没有代码来记住滚动位置,页面将始终刷新,滚动位置将再次为0。听起来这不是你想要的功能。启动时触发滚动不会解决问题,除非您在触发前设置了正确的窗口滚动位置

您给出的示例页面似乎使用了多个滚动库,其中一个(不确定是哪一个)可能负责设置刷新时的滚动位置

要自己完成,您必须使用本地存储或url,如下所述:

您可以尝试
$(function(){$(window.trigger('scroll');})我将对此进行调查。谢谢。你能用触发器和我的示例代码吗?我真的很感激你的帮助。谢谢。如果您发布的代码在DOM就绪处理程序中,只需放入
$(window.trigger('scroll')直接在你发布的代码下面/之外。我想我明白了。非常感谢,谢谢。这是非常非常有用的!