我有一些縮略圖slideToggle隱藏的div。我只希望一個人立即保持開放。所以當下一個縮略圖被點擊時,打開的div會關閉,然後新的縮略圖會打開。切換div,但只能一次顯示一個
我是用show和hide做的,但是看起來很糟糕,因爲我從slideToggle中刪除了動畫。
那麼隱藏所有切換的div然後打開新的最好的方法是什麼?
這裏是我的HTML:
<div id="mainContainer">
<div id="rowOne">
<img src="IllinoisLottery_Thumbnail_Taller.jpg" id="rowOneLeftImage" />
<img src="IllinoisLottery_Thumbnail_Taller.jpg" id="rowOneMiddleImage" />
<img src="IllinoisLottery_Thumbnail_Taller.jpg" id="rowOneRightImage"/>
</div>
<div id="rowOneLeftImageHidden">
This is information for the left image in the first row.
</div>
<div id="rowOneMiddleImageHidden">
This is information for the middle image in the first row.
</div>
<div id="rowOneRightImageHidden">
This is information for the right image in the first row.
</div>
和jQuery來切換(但多個div可以用這個打開...):
$('#rowOneLeftImage').click(function(){
$("#rowOneLeftImageHidden").slideToggle();
});
$('#rowOneMiddleImage').click(function(){
$("#rowOneMiddleImageHidden").slideToggle();
});
$('#rowOneRightImage').click(function(){
$("#rowOneRightImageHidden").slideToggle();
});
這個效果很好,但是整個div會關閉然後再打開嗎?現在div並沒有完全關閉,內容交換出來,div又開始打開。它看起來不太平滑。 – patricko 2012-03-06 21:15:54
謝謝!我在slideDown上放了一個延遲,它使slideUp時間完成,看起來很平滑。 – patricko 2012-03-06 21:18:18
如果您希望它們在打開之前全部關閉,可以將其放入slideUp()的回調中。但是,您需要小心一點,因爲每個元素動畫都會調用一次回調 - 在這種情況下,會有3次回調。所以在回調中你需要檢查'this'的id。我會給我的答案添加一個例子。 – bhamlin 2012-03-06 21:21:56