頁面上有多個新聞框可以在單擊時摺疊和展開內容。似乎沒有問題,但有一個消息框已經打開,用戶必須在另一個消息框上單擊兩次以使其展開。jquery摺疊和展開(顯示)
請參閱鏈接,方便,http://jsfiddle.net/sameerast/JHgvK/
頁面上有多個新聞框可以在單擊時摺疊和展開內容。似乎沒有問題,但有一個消息框已經打開,用戶必須在另一個消息框上單擊兩次以使其展開。jquery摺疊和展開(顯示)
請參閱鏈接,方便,http://jsfiddle.net/sameerast/JHgvK/
你可以縮短你的代碼,只是這樣的:
$(".fade").click(function() {
$(this).next().slideToggle("slow");
});
這將click
事件處理程序綁定到所有元素與.fade
類,而不是單獨綁定通過id
您目前正在做的。使用slideToggle
處理元素是否已經可見或不適合你,所以你不需要費心把它保留在變量中。
您嘗試的問題是您用來做這件事的hidden
變量。當您展開一個元素時,hidden
設置爲false
。當您再點擊另一個時,hidden
爲false,因此slideUp
部件運行,並且hidden
設置爲true
,因此當您再次單擊時,運行正確的分支(else
)。
非常感謝,我發現你的腳本不錯,但逐漸的不透明度動畫錯過。 –