我有Jquery脚本在一个页面上播放导航栏动画,在另一个页面上禁用它。它可以在chrome上运行,但不能在firefox上运行。下面是我的代码:
var URL = window.location.pathname;
URL = URL.split("/");
if(URL[1] != 'holiday') {
$('.navbar').addClass('hide-menu');
$(window).scroll(function() {
slider();
});
} else {
$(".navbar").addClass('show-menu');
}滑块函数:
function slider() {
if (document.body.scrollTop > 500)
$('.navbar').stop().animate({
"margin-top" : '0'
});
else
$('.navbar').stop().animate({
"margin-top" : '-150px'
});
}CSS:
.show-menu {
margin-top: 0px;
}
.hide-menu {
margin-top: -150px;
}Firefox隐藏菜单,但它无法播放动画和显示菜单。有什么建议吗伙计们?谢谢
发布于 2014-05-15 02:28:40
您必须从实际具有滚动条的元素中获取滚动量。火狐认为这就是<html>元素。
您可以将所有内容包装在设置了overflow: auto的容器中,然后将其用作检查滚动数量以及放置scroll事件处理程序的位置。Here's a jsbin.
<body>
<div id=everything>
<div class=navbar>
HELLO WORLD
</div>
<!-- content ... -->
</div>
</body>和CSS:
html, body { height: 100%; padding: 0; margin: 0; }
#everything { height: 100%; overflow: auto; }https://stackoverflow.com/questions/23661782
复制相似问题