Javascript 使用jQuery时奇怪的导航栏结巴
在上,我在顶部有一个导航栏。 现在,使用jQuery,我通过添加一个名为.shrink的CSS类来缩小导航栏 当scrollTop超过100px时。 该功能本身运行良好。类被应用,导航栏变小了,但我面临一个口吃问题。如果你从顶部滚动一点(我相信大约100像素),导航栏就会开始疯狂地上下跳跃。我不知道问题的原因,也不知道如何解决。有人知道解决办法吗Javascript 使用jQuery时奇怪的导航栏结巴,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在上,我在顶部有一个导航栏。 现在,使用jQuery,我通过添加一个名为.shrink的CSS类来缩小导航栏 当scrollTop超过100px时。 该功能本身运行良好。类被应用,导航栏变小了,但我面临一个口吃问题。如果你从顶部滚动一点(我相信大约100像素),导航栏就会开始疯狂地上下跳跃。我不知道问题的原因,也不知道如何解决。有人知道解决办法吗 $(文档).on(“滚动”,函数(){ 如果($(文档).scrollTop()>100){ $(“标题”).addClass(“收缩”); }否则
$(文档).on(“滚动”,函数(){
如果($(文档).scrollTop()>100){
$(“标题”).addClass(“收缩”);
}否则{
$(“标题”).removeClass(“收缩”);
}
});代码>
header.is-fixed{
位置:粘性;
z指数:9999;
左:0;
右:0;
排名:0;
填充:1.5雷姆0;
过渡:0.2s;
背景色:#333;
}
头.收缩{
填充:0.750;
}
满足于此
首先,当您使用非常敏感的滚动外设(如mac trackpad)时,最有可能出现此错误。
使用普通的鼠标滚轮可以大大减少这种机会
现在是代码
您需要使用的位置:固定;在导航栏上,由于position sticky以某种方式改变了滚动条的计算,使压缩进入某种循环,相对于position fixed,您需要考虑滚动条位置0处内容的偏移量,因为position fixed不会向下推下一个子项,所以请使用边距top或其他方式
我已经在你的网站上用chrome inspector做了一个测试
“header.is fixed”用于定位固定并将102px边距添加到此类的firts节
“英雄是媒体,以文本为中心,手机是bg img,以文本为中心”
再也没有虫子了
希望这能有所帮助首先,当你使用非常敏感的滚动外设(如mac trackpad)时,这个bug最有可能出现。
使用普通的鼠标滚轮可以大大减少这种机会
现在是代码
您需要使用的位置:固定;在导航栏上,由于position sticky以某种方式改变了滚动条的计算,使压缩进入某种循环,相对于position fixed,您需要考虑滚动条位置0处内容的偏移量,因为position fixed不会向下推下一个子项,所以请使用边距top或其他方式
我已经在你的网站上用chrome inspector做了一个测试
“header.is fixed”用于定位固定并将102px边距添加到此类的firts节
“英雄是媒体,以文本为中心,手机是bg img,以文本为中心”
再也没有虫子了
希望这有助于不出现问题。哪个浏览器?谷歌浏览器。我只是尝试了一下Edge,但它似乎并没有持续存在。在chrome中也看不到它。看不到问题。哪个浏览器?谷歌浏览器。我只是在Edge上试了一下,它似乎并没有在那个里持续。在chrome上也看不到它。太棒了!这完全解决了问题。所以,当使用position时,它似乎是唯一会持续存在的东西:sticky。使用位置:这里的解决方案是固定的。太好了!这完全解决了问题。所以,当使用position时,它似乎是唯一会持续存在的东西:sticky。使用位置:这里的解决方案是固定的。