はあなたのhideableのそれぞれが共有クラス名をdivを与え、また、それらに独自のIDを与える
<div class="col-md-4 col-sm-4" >
<div id="one" class="hideMeBox">
<img src="http://www.starwarscats.com/wp-content/uploads/2013/02/storm-trooper-cats.jpg" style="max-width: 150px;"/>
</div>
</div>
<div class="col-md-4 col-sm-4">
<div id="two" class="hideMeBox">
<img src="http://www.starwarscats.com/wp-content/uploads/2013/01/cat-costume-darth-vader.jpg" style="max-width: 150px;"/>
</div>
</div>
<div class="col-md-4 col-sm-4">
<div id="three" class="hideMeBox">
<img src="https://futureofstarwars.files.wordpress.com/2014/09/cat-helpmeobiwan.jpg" style="max-width: 150px;"/>
</div>
</div>
の制御のためのあなたのボタンを定義することです:
<div class="btn btn-large btn-info" id="hideOne">One</div>
<div class="btn btn-large btn-warning" id="hideTwo">Two</div>
<div class="btn btn-large btn-danger" id="hideThree">Three</div>
Jqueryでは、ボタンのクリックにバインドし、hide/show optiアドオン
$('#hideOne').click(function() {
$.when($('.hideMeBox').not($("#one")).slideDown("slow")).done(function() { $("#one").slideToggle("slow"); });
});
$('#hideTwo').click(function() {
$.when($('.hideMeBox').not($("#two")).slideDown("slow")).done(function() { $("#two").slideToggle("slow"); });
});
$('#hideThree').click(function() {
$.when($('.hideMeBox').not($("#three")).slideDown("slow")).done(function() { $("#three").slideToggle("slow"); });
});
何が効果的にここでやっていることは、ボタンのクリックであり、問題IDが含まれている要素を除いて、すべてのクラスのjqueryのショーのアニメーション(slideDown)。次に、ターゲットdivでトグルアニメーションを発行します。 。このように、このよう
あなたがアニメーションを実行する必要があります:あなたはjQueryのように表示/非表示の/トラックの状態を確認する必要はありませんでしょう、それはここで
に現在あるどんな状態だけで自動切り替えはキャッチです複数の要素(1つのIDの代わりにクラス別にアニメーションを呼び出す)では、それらをキューに入れます。
あなたは、このような
$(".whatever").slideDown("slow", function() {
// Animation complete.
});
ようなアニメーションで、通常の完全なコールバックを使用しようとした場合、それは毎回完成し、キュー内のアニメーションアニメーション、完全な機能を呼び出します。
Inには、その日を保存する遅延オブジェクトがあります。この特定のケースでは、jQueryを参照する必要があります。()APIドキュメント当たり
https://api.jquery.com/jquery.when/
場合:複数の遅延オブジェクトはjQuery.when(に渡される場合
)、本方法は、新たな「マスター」繰延オブジェクトからプロミスを返します渡されたすべてのDeferredの集約状態を追跡します。このメソッドは、すべてのDeferredsが解決するとすぐにそのMaster Deferredを解決するか、Deferredsの1つが拒否されるとすぐにMaster Deferredを拒否します。マスターDeferredが解決されると、マスターDeferredのdoneCallbacksが実行されます。 doneCallbacksに渡される引数は、Deferredの作り方のそれぞれの解決済みの値を提供し、Deferredの作り方は、(jQuery.whenに渡された順序と一致)
ここでは例を作業:https://jsfiddle.net/qs4v999p/9/
より具体的な問題への私の答えを修正しました – daniel
質問と回答がありましたらお知らせください。 –
パーフェクト!これはまさに私が欲しいものです。あなたの作業例はそれとは逆ですが、私のニーズに合わせて調整することができます。ありがとうございました! – daniel