私はイメージを含むリストを持っており、私はそれらをCSSトランジションで移動します。関数を複数回実行することなく遷移終了イベントを複数の要素にバインドする方法はありますか?
これらの画像は大きいので、私はSafariのちらつきを避けるために、リストの要素にCSSトランジションを使用する必要があります。
$("container").bind("webkitTransitionEnd", function() {
doSomething()
});
私はイベントをバインドしようとした:
<ul id="container">
<li class="moveLeft>...</li>
<li class="moveLeft">...</li>
<li class="moveLeft>...</li>
<li class="moveLeft>...</li>
<li class="moveLeft>...</li>
</ul>
問題は、私は、UL要素にバインドを使用する場合、移行端にバインドさ関数が5回(元素の量)が実行されることですハンドラはリストの2番目の子にありますが、リスト要素が更新され(要素が削除され、追加された)なので、2番目の要素が置き換えられるとイベントハンドラが停止します。
$("container").children().eq(2).bind("webkitTransitionEnd", function() {
doSomething()
});
私は解決策が親にイベントハンドラをバインドすることだと思いますが、どのように私の代わりに5の1時間にイベントが発生するたびに関数を実行するために何ができますか?のみ(あなたのケースでは)親李に結合する
リストが更新されると(最初の要素が削除され、新しい要素が最後の位置に追加された、または最後の要素が削除され、新しい要素が最初の位置に追加された)、イベントがあった要素結合が除去される。 – benoit