2012-02-28 7 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は、あなたのコードに存在しているのですか? –

答えて

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プロパティの名前である1つの文字列を渡すことができます。この文字列は、そのプロパティの値を返す 'getter'として機能します。

または、CSSプロパティの名前と値を2つの文字列に渡すことができます。これは「設定者」として機能し、そのプロパティをその値に設定します。

$("#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/

関連する問題