2012-04-08 64 views
1

我添加了一个“粘性滚动”导航栏,我认为它被调用,它允许导航栏移动,直到它到达浏览器的顶部并固定为止,即始终保持在眼睛中的用户。 我设法让它在Chrome,Firefox和IE中工作。针对不同浏览器的不同Jquery值

但是,jQuery的一部分允许您更改它停止的顶部边距。

是否有反正我可以为每个浏览器设置不同的顶部边距,例如,Chrome我希望它是10px,IE浏览器我希望它是5px,由于某种原因,Firefox需要整个屏幕导航,所以它不需要改变。

这里是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> 

你可以看到顶部的边缘部分顶:0

任何想法?

感谢

回答

2

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

但是,我建议你做的事情是找出为什么这种行为存在并销售底层的问题。你无法修复它,或者你已经没有时间了,你可以一直回到像.browser这样的黑客身上。 :)