2012-04-08 63 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這樣的黑客身上。 :)