Javascript 当我在浏览器中点击refresh时,我丢失了jquery编程
如果您查看并向下滚动页面大约50像素左右,您将看到屏幕左侧有一个div滑出。我已经设法复制了这种效果,但有一件事我没有意识到;当您在我的页面上点击refresh时,我的jquery编程将重置。我不想发生这种事。它工作得很好。在他们的页面上,当向下滚动50像素时,左导航出现,即使点击“刷新”,左导航仍然存在。只有当用户滚动回页面顶部时,左导航才会消失 当前工作情况:用户在“我的页面”上向下滚动296像素,左侧导航滑出,用户将滚动条带回到页面顶部(像素小于25),左侧导航滑回并消失。这一切都在起作用 什么不起作用:但假设用户向下滚动296像素,左侧导航滑出,然后用户在查看页面时点击刷新。在这种情况下,左导航消失了。我的jquery编程被重置了。我希望当用户达到296像素或更大时,即使用户点击刷新,左导航也始终可见 我的代码如下。我希望我的问题有道理,我欢迎任何帮助。多谢各位Javascript 当我在浏览器中点击refresh时,我丢失了jquery编程,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,如果您查看并向下滚动页面大约50像素左右,您将看到屏幕左侧有一个div滑出。我已经设法复制了这种效果,但有一件事我没有意识到;当您在我的页面上点击refresh时,我的jquery编程将重置。我不想发生这种事。它工作得很好。在他们的页面上,当向下滚动50像素时,左导航出现,即使点击“刷新”,左导航仍然存在。只有当用户滚动回页面顶部时,左导航才会消失 当前工作情况:用户在“我的页面”上向下滚动296像素,左侧导航滑出,用户将滚动条带回到页面顶部(像素小于25),左侧导航滑回并消失。这一切都在起作用
$(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')代码>直接在你发布的代码下面/之外。我想我明白了。非常感谢,谢谢。这是非常非常有用的!