javascript - 不同浏览器的不同 Jquery 值

标签 javascript jquery css

我正在添加一个“粘性滚动”导航,我认为它被称为导航,它允许导航移动直到它到达浏览器的顶部并在那里固定,即始终保持在用户的视线中。 我已经设法让它在 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/

相关文章:

javascript - 无法禁用表行中的同级

javascript - 如何使用 'contenteditable'属性向div添加按键事件

javascript - 如果父 div 不包含特定的 span 元素,则隐藏它

javascript - 同位素 - 单击以展开图像并在左上角定位

javascript - XMLHttpRequest 的替代品?

javascript - 如何使用异步更新编写 shouldComponentUpdate

html - 表格以及如何管理数据

css - 将触摸/滑动命令添加到 CSS 转换/动画

javascript - UnderscoreJS _.filter 通过多个 BackboneJS 集合

javascript - 如何在加载前添加加载动画