Javascript 从随机部分加载页面时向页眉添加类
当页面像这样滚动时,我通过JS向Javascript 从随机部分加载页面时向页眉添加类,javascript,jquery,css,Javascript,Jquery,Css,当页面像这样滚动时,我通过JS向添加了一个类: $(window).scroll(function(){ var top = $(window).scrollTop(); if(top>=1){ $("header").addClass('bg-header'); } else if($("header").hasClass('bg-header')){ $("header").removeCla
添加了一个类:
$(window).scroll(function(){
var top = $(window).scrollTop();
if(top>=1){
$("header").addClass('bg-header');
}
else
if($("header").hasClass('bg-header')){
$("header").removeClass('bg-header');
}
});
问题是,比方说,我从页面的页脚部分(或低于页面顶部的任何其他部分)重新加载,然后页眉会松开类,只有在我向下滚动后才能将其取回。如何使其在重新加载后不会丢失添加的类?有两种方法:可以在page load/DOM ready上手动触发scroll事件,或者只需将所有逻辑移到scroll事件调用的函数中,并在page load/DOM ready期间调用 解决方案1:在滚动+翻页期间调用自定义功能 解决方案2:手动触发
滚动事件(不理想)
此解决方案不理想的原因是页面上可能有其他插件/脚本正在侦听滚动
事件。通过手动触发它,您正在破坏事件的默认行为(因为事件是在没有任何实际滚动的情况下触发的)
您的意思是重新加载窗口
?
$(function() {
// Define custom function that contains all the logic
var customScrollCallback = function() {
var top = $(window).scrollTop();
if (top >= 1) {
$("header").addClass('bg-header');
} else if ($("header").hasClass('bg-header')) {
$
};
};
$(window).scroll(function() {
// Call custom function during scroll
customScrollCallback();
});
// Call custom function at runtime :) (this is the trick!)
customScrollCallback();
});
$(function() {
$(window)
.scroll(function() {
var top = $(window).scrollTop();
if (top >= 1) {
$("header").addClass('bg-header');
} else if ($("header").hasClass('bg-header')) {
$("header").removeClass('bg-header');
}
})
.trigger('scroll');
});