2012-02-19 86 views
0

http://designobvio.us/DoUs/directPro.htmljQuery固定位置滾動閃爍修復?

jQuery腳本

$(window).scroll(function() { 
$('#nav').css('top', $(this).scrollTop() + "px"); 
}); 

HTML

<nav id="nav" class="grid_2">  
    <ul> 
    <li><a href="#"><span>↗</span>Portfolio</a></li> 
    <li><a href="#">Blog</a></li> 

    <li><a href="#">About Me</a></li> 
    <li> 
     <ul class="secondaryUL"> 
      <li><a href="#">business</a></li> 
      <li><a href="#">skills</a></li> 
      <li><a href="#">service</a></li> 
     </ul> 

    </li> 
    <li><a href="#">me</a></li> 
    <li><a href="#">contact</a></li> 
</ul>  
</nav> 

關於如何解決在IE和Chrome閃爍。它看起來不錯在FF,不要任何線索,甚至有Safari瀏覽器測試上。 http://designobvio.us/DoUs/directPro.html

我使用jQuery,所以我不必調整我所有的CSS來做這個調整。任何人有任何想法如何實現這種卓有成效的清潔?

回答

2

我認爲沒有辦法在javascript中令人滿意地完成。在大多數瀏覽器中你總是會閃爍。 我上次試過的東西,正在使用position:fixed.

+1

我認爲你是對的。大聲笑謝謝andy – 2012-02-19 19:04:12

1

嘗試使用動畫。也許這會有所幫助。

$(window).scroll(function() { 
    $('#nav').animate({top: $(this).scrollTop()}, 100); 
}); 

我還沒有測試過,所以它可能會或可能不會工作。我將持續時間設置爲100,但您也可能想要使用持續時間以獲得更平滑的效果。

+0

這實際上工作好得多(在鉻),但後來打破了其他瀏覽器(初始工作)。如果有一種方法可以控制滑塊行進的距離,我相信這可以解決問題。唉,我對jquery很新,即使這個腳本是從另一個stackoverflow大聲笑。謝謝你的幫助 - – 2012-02-19 19:04:26