2012-10-03 250 views
1

這段代碼做了我所需要的,但它有一個惱人的閃爍,因爲它正在做它。它所做的是在底部我有一個「大」div(navContainer)中包含的內聯列表,並在大div的頂部是一個較小的div(smallNavContainer)。當下面的大div被向左或向右移動時,較小的div顯示列表的不同部分。當我使用「margin-left」時,它可以工作,但有一個令人討厭的閃爍,如果我只使用「left」,沒有閃爍但div一旦顯示的區域離屏,列表的其餘部分無法移動在顯示中。有沒有辦法擺脫marginLeft的閃爍?或者當我使用「左」時,是否有辦法讓列表的其餘部分呈現。jQuery - 動畫閃爍? (IE8)

jQuery的

$('#capeBtnsPrevTab').live("click",function() 
{ 
    $("#navContainer").animate({"margin-left": "+=468"}, 1000, function(){ 
    }); 
}); 

$('#capeBtnsNextTab').live("click",function() 
{ 
    $("#navContainer").animate({"margin-left": "-=468"}, 1000, function(){ 
    }); 
}); 

CSS

.floatIt 
{ 
    float:left; 
} 

div#smallNavContainer 
{ 
    left: 50%; 
    position: absolute; 
    z-index:0; 
    overflow:hidden; 
    width: 780px; 
    height: 88px; 
    margin-left:-392px; 
    margin-top: 72px; 
} 

#navContainer 
{ 
    position: relative; 
    margin-left:-506px; 
    margin-top:0px; 
} 

#navlist li 
{ 
    display: inline; 
    list-style-type: none; 
    padding-right: 0px; 
    padding-left: 0px; 
    margin-right: -2px; 
    margin-left: -2px; 
} 

HTML

<img class="floatIt" id="capeBtnsPrevTab" src="btn_1.png" alt="Previous"/></a> 
<div class="floatIt" id="smallNavContainer"> 
    <div id="navContainer"> 
     <ul id="navlist"> 
      <li><img id="btn9" src="menu_one.jpg"/></li> 
      <li><img id="btn10" src="menu_two.jpg"/></li> 
      <li><img id="btn11" src="menu_three.jpg"/></li> 
      <li><img id="btn1" src="menu_four.jpg"/></li> 
      <li><img id="btn2" src="menu_five.jpg"/></li> 
      <li><img id="btn3" src="menu_six.jpg"/></li> 
      <li><img id="btn4" src="menu_seven.jpg"/></li> 
      <li><img id="btn5" src="menu_eight.jpg"/></li> 
      <li><img id="btn6" src="menu_nine.jpg"/></li> 
      <li><img id="btn7" src="menu_ten.jpg"/></li> 
      <li><img id="btn8" src="menu_eleven.jpg"/></li> 
     </ul> 
    </div> 
</div> 
<a><img class="floatIt" id="capeBtnsNextTab" src="UI/btnNext_n.png" alt="Next"/></a><br/> 

回答

0

我想出了什麼是閃爍,它是IE過早刪除每個按鈕時,它的邊緣從渲染的div切除。

0

使用%代替+=-=可以幫助,但不知道它