Javascript 页面刷新时的更新功能
我有一个简单的javascript函数来检测页面滚动 一切正常 唯一的遗漏是,当页面刷新时,滚动条不会被保留,因此需要恢复 我认为这可能很简单,比如用类似于Javascript 页面刷新时的更新功能,javascript,jquery,Javascript,Jquery,我有一个简单的javascript函数来检测页面滚动 一切正常 唯一的遗漏是,当页面刷新时,滚动条不会被保留,因此需要恢复 我认为这可能很简单,比如用类似于$(window.on(“load”,docScroll())的内容替换pub.init中对docScroll()的直接调用;在挫折中但不幸的是,这不起作用 有人提供建议吗 var scroll = function () { var pub = {}, timeout = null; function reset() {
$(window.on(“load”,docScroll())的内容替换pub.init
中对docScroll()的直接调用;在挫折中
但不幸的是,这不起作用
有人提供建议吗
var scroll = function () {
var pub = {}, timeout = null;
function reset() {
if (typeof (timeout))
clearTimeout(timeout);
timeout = setTimeout(function () {
docScoll();
}, 200);
}
function docScroll() {
$body = $("body");
var headerHeight = $("#header").height();
$(document).scroll(function () {
if ($(window).scrollTop() > headerHeight) {
$body.addClass("scrolling");
}
else {
$body.removeClass("scrolling");
}
});
}
function setBindings() {
$(window).on("resize", reset);
}
pub.init = function () {
setBindings();
docScroll();
}
return pub;
} ();
滚动事件处理程序应设置一次。所以我会这样做:
var scroll = function () {
var pub = {};
function docScroll() {
var $body = $("body");
var headerHeight = $("#header").height();
if ($(window).scrollTop() > headerHeight) {
$body.addClass("scrolling");
}
else {
$body.removeClass("scrolling");
}
}
function setBindings() {
$(document).scroll(docScroll);
}
pub.init = function () {
setBindings();
docScroll();
}
return pub;
} ();
滚动事件处理程序应设置一次。所以我会这样做:
var scroll = function () {
var pub = {};
function docScroll() {
var $body = $("body");
var headerHeight = $("#header").height();
if ($(window).scrollTop() > headerHeight) {
$body.addClass("scrolling");
}
else {
$body.removeClass("scrolling");
}
}
function setBindings() {
$(document).scroll(docScroll);
}
pub.init = function () {
setBindings();
docScroll();
}
return pub;
} ();
什么时候调用init()?init在文档中被调用。Readywhy这还不够?刷新页面时,变量被重置。如果需要在刷新之间存储数据,可以尝试
localStorage
,然后在“文档准备就绪”或“页面加载”事件中读取以前的数据并根据需要滚动。@johnohar!超时句柄中有一个输入错误,何时调用init()?init在文档中被调用。就绪为什么这还不够?刷新页面时,变量被重置。如果需要在刷新之间存储数据,可以尝试localStorage
,然后在“文档准备就绪”或“页面加载”事件中读取以前的数据并根据需要滚动。@johnohar!而且超时句柄中有一个输入错误,如果存储变量,它可以正常工作。为了完整性,我添加了回调docScroll()的resize事件。标题在方向上改变大小。感谢您的帮助。如果存储变量,测试和工作不会带来复杂问题。为了完整性,我添加了回调docScroll()的resize事件。标题在方向上改变大小。谢谢你的帮助。