使用Javascript使当前h1/h2具有粘性
我想通过使h1或h2元素(向下滚动时)在顶部变为粘性,直到下一个标题即将变为粘性,从而使包含大量文本的长网站更加方便 我相信我在一些网站上看到过,但我不知道怎么称呼它,也找不到一个例子 我使用的是Bootstrap和JQuery,所以一个能与它们一起工作的解决方案将是完美的使用Javascript使当前h1/h2具有粘性,javascript,css,Javascript,Css,我想通过使h1或h2元素(向下滚动时)在顶部变为粘性,直到下一个标题即将变为粘性,从而使包含大量文本的长网站更加方便 我相信我在一些网站上看到过,但我不知道怎么称呼它,也找不到一个例子 我使用的是Bootstrap和JQuery,所以一个能与它们一起工作的解决方案将是完美的 $(window).on("scroll",function(){ /*Check if window scroll Top reaches menu position */ if ($(window).scroll
$(window).on("scroll",function(){
/*Check if window scroll Top reaches menu position */
if ($(window).scrollTop() >= 100) {
$('div.menu-class').addClass('fixed');
}
else {
$('div.header').removeClass('fixed');
}
});
或者,您可以检查菜单元素top position是否等于windowscroll top
var window_top_position = $(window).scrollTop();
var menuElement = $('.menu-class');
var Menu_top_position = $menuElement.offset().top;
然后检查条件,如果条件满足,则添加“fixed”,否则删除“fixed”类
别忘了为修复添加CSS
.fixed{
position:fixed;
top:0;
}
如果这个答案对你有帮助,请接受。你试过什么了吗?听起来你可以试试position:sticky
让当前h1/h2变得sticky
,,但我不知道怎么称呼它。好吧,再读一遍这两个句子:)这里已经回答了:这不是菜单元素的问题。是关于章节标题的。这可以通过css实现