我正在添加一个“粘性滚动”导航,我认为它被称为导航,它允许导航移动直到它到达浏览器的顶部并在那里固定,即始终保持在用户的视线中。 我已经设法让它在 chrome、firefox 和 IE 中工作。
然而,jquery 的一部分允许您更改它停止的上边距。
我是否可以为每个浏览器设置不同的上边距,例如,chrome 我希望它是 10px,而 IE 我希望它是 5px,firefox 出于某种原因占据了整个屏幕的 Nav , 因此不需要更改。
这是它的 Jquery
<script type="text/javascript">
$(function(){ // document ready
if (!!$('.sticky').offset()) { // make sure ".sticky" element exists
var stickyTop = $('.sticky').offset().top; // returns number
$(window).scroll(function(){ // scroll event
var windowTop = $(window).scrollTop(); // returns number
if (stickyTop < windowTop){
$('.sticky').css({ position: 'fixed', top: 0 });
}
else {
$('.sticky').css('position','static');
}
});
}
});
</script>
可以看到上边距部分 top: 0
有什么想法吗?
谢谢
最佳答案
如果你想走这条路,你可以使用 $.browser ( http://api.jquery.com/jQuery.browser/ ) 来测试用户使用的浏览器。这在大多数情况下都有效,但如果用户更改了浏览器的用户代理设置,它可能会崩溃。
不过,我建议您找出此行为存在的原因并解决潜在问题。如果你无法修复它,或者你已经没有时间了,你总是可以退回到像 $.browser 这样的黑客。 :)
关于javascript - 不同浏览器的不同 Jquery 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061661/