2013-02-07 92 views
-1

您好,我有以下...讓動畫切換上點擊

<span id="second" class="content1" style="width:0px; display:inline-block; overflow:hidden; float: left; white-space:nowrap;"> 
        <p style="color:blue; background-color: #b5bdc8;">Camera Reviews</p> 
        </span> 
        <a href="#" class="slide1" style="float: left;"><li class="laptop"></li></a> 

和腳本是:

$(document).ready(function() { 
      $('.slide1').click(function() { 
      $('#second').animate({ 
       width: '120px', 
      }, 1000); 
     }); 
}); 

的問題是,我要顯示BLOCK列表...和工作,因爲它是再加上我希望動畫切換時,我的列表隱藏/顯示

工作代碼在這裏點擊:http://jsfiddle.net/gVjFs/81/

+0

恩,首先嚐試從HTML中分離出CSS。 – Jan

+0

您能詳細說明您的預期行爲嗎?我不太喜歡。 – Jared

+0

好的,我已經在這裏分離了html ffrom html:http://jsfiddle.net/gVjFs/81/。現在我想要列表顯示塊和動畫切換點擊顯示隱藏(對於每個列表項) – emcee22

回答

0

我將忽略狡猾的標記(其中包括<span>以內的<li>)。你可以在這裏使用toggle()

$('.slide1').toggle(function() { 
    $('#second').stop().animate({ 
     width: '120px', 
    }, 1000); 
}, function(){ 
    $('#second').stop().animate({ 
     width: '0', 
    }, 1000); 
}); 
+0

感謝您的回答 – emcee22

+0

@PaulHarbuz - 無後顧之憂,有幫助嗎? – boz

+0

是伴侶。完美的答案! – emcee22

0

在您的JSFiddle中,您顯示您將CSS設置爲blockul li。但是這不會起作用,因爲您的HTML中沒有任何ul標籤。它也似乎是您正確使用li標籤。 li標籤就像td標籤:它在其父標籤之外沒有意義。對於li這將是一個olul標籤。如果你想要一個小圓圈點擊,請使用一個小圓圈的圖像。此外,將span/a部分包裝在div中。這會給你免費的屏幕顯示。

0

使用點擊()和toggleClass() 東西的組合是這樣的:

$("#click").click(function() { 
    $(this).toggleClass('whatever'); 
}); 
0
$(document).ready(function() { 
    $('.slide1, .slide2, .slide3, .slide4, .slide5').click(function() { 
     var elem = $('.' + $(this).attr('class').replace('slide','content')), 
      width = elem.width(); 
     elem.animate({ 
      width: width === 0 ? '120px' : 0, 
     }, 1000); 
    }); 
}); 

demo

我建議你設置一個slide類到所有.slide1, .slide2, .slide3 -elements。