2012-02-28 21 views
1

如何隱藏li,並刪除它的空間。 以下代碼是在圖像之間傳輸的,但隱藏前一個li時會出現空白區域。如何在隱藏後刪除li空間?

<script type="text/javascript"> 
    $(document).ready(function() { 
     var selectedIndex = 1; 
     $("#slide" + selectedIndex + " img").fadeIn(500); 
     $("ul.captios li").click(function() { 
      var id = $(this).attr("id").split("_")[1]; 
      $("#slide" + selectedIndex + " img").fadeOut(500, function() { 
       $("#slide" + id + " img").fadeIn(500); 
       $("#slide" + selectedIndex).css("display:none;"); 
       selectedIndex = id; 
      }); 

     }); 
    }); 
</script> 

一個html

<div id="gal-container"> 
     <div id="slides-wrapper"> 
      <ul class="slides"> 
       <li id="slide1"><img class="hide" src="imgs/img1.jpg" /></li> 
       <li id="slide2"><img class="hide" src="imgs/img2.jpg" /></li> 
      </ul> 
     </div> 

     <div id="caption-wrapper"> 
      <ul class="captios"> 
       <li id="caption_1"><a href="#">img1</a></li> 
       <li id="caption_2"><a href="#">img2</a></li> 
      </ul> 
     </div> 
    </div> 
+0

你的代碼中存在幻燈片ID嗎? – 2012-02-28 09:08:50

回答

4

你爲什麼不使用:

 $("#slide" + selectedIndex).hide(); 

甚至更​​好可能是:

$("#slide" + selectedIndex).fadeOut(500, function() { 
     $("#slide" + id).fadeIn(500); 
     selectedIndex = id; 
}); 
0

你寫的CSS部分錯誤:

$("#slide" + selectedIndex).css("display:none;"); // It will return the css 
                //definition for display:none 

用這個代替:

$("#slide" + selectedIndex).css('display', 'none') 

hide功能,不完全開箱即用的相同東西:

$("#slide" + selectedIndex).hide(); 
1

你在錯誤地給.css()打電話。你可以傳遞一個單一的字符串,這是一個CSS屬性的名稱,它將作爲'getter',返回該屬性的值。

或者你可以傳遞它兩個字符串,一個CSS屬性的名稱和一個值,它將充當'setter',將該屬性設置爲具有該值。

所以,而不是$("#slide" + selectedIndex).css("display:none;");你想要$("#slide" + selectedIndex).css("display", "none");

0

不知道,如果這是你的問題,但是......這條線是不正確的:

$("#slide" + selectedIndex).css("display:none;"); 

它應該是:

$("#slide" + selectedIndex).css('display', 'none'); 
// OR 
$("#slide" + selectedIndex).hide(); 
1

你在你的代碼中的錯誤。更改

$(「#slide」+ selectedIndex).css(「display:none;」);

$( 「#滑動」 +的selectedIndex)的CSS({顯示: '無'});或$(「#slide」+ selectedIndex).css('display','none');

http://api.jquery.com/css/