不同浏览器的不同Jquery值

时间:2012-04-08 09:01:27

标签: javascript jquery css

我正在添加一个“粘性滚动”导航,我认为它被调用,它允许导航移动直到它到达浏览器的顶部,在那里它变得固定,即始终保持在用户眼中。 我已经设法让它在chrome,firefox和IE中运行。

然而,jquery的一部分允许你改变它停止的上边距。

无论如何,我可以为每个浏览器设置不同的上边距,例如,我希望它是10px的Chrome,而IE我希望它是5px,firefox由于某种原因需要使用Nav的整个屏幕,所以不需要改变。

这是Jquery for it

<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>

您可以看到上边距部分顶部:0

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:2)

如果您想要使用此路线,可以使用$ .browser(http://api.jquery.com/jQuery.browser/)来测试用户正在使用的浏览器。这在大多数情况下都有效,但如果用户更改了浏览器的用户代理设置,则可能会崩溃。

我建议你做的是找出这种行为存在的原因并解决了潜在的问题。你无法修复它,或者你已经没时间了,你可以总是回到像$ .browser这样的黑客。 :)