0

ビデオ配列と、その配列に対応する親指のリストがあります。ボタンの1つをクリックすると、ビデオの再生中に非アクティブ化する必要があります。私はそれを持っているので、最初のクリックの後、それはリスト全体を非アクティブにします

$('li', '.thumbs').on('touchend click', function() {
    $("#myVid").on("loadeddata", function() {
        $("#bigPic").addClass("move");
        $("#MyT").fadeOut(750);
    });
    playVideo2( $(this).index() );
    $('li', '.thumbs').unbind();
});

リスト内の各アイテムが次のように設定されている場合:

<li rel='1' id="first">
    <div style="top:0px;">
        <img src="graphics/filler.png" alt="" width="280" height="128" />
    </div>
</li>

IDはそれぞれ異なるので、のid代わりに置くだけ.thumbsで、それを持っunbindたり、自分自身を回したりできoffますか?これは非効率的であるに違いないことは知っていますが、他にどのように行うかはわかりません。なんとか使っthis()てますか?もしそうなら、どのように?

4

1 に答える 1

1

グローバル変数を使用して、再生中のビデオを確認できます。

//init
var currentlyPlaying = undefined;

イベント処理部分内で、この変数をクリックされたボタンの ID に設定します。

currentlyPlaying = $(this).attr('id');

その設定を使用すると、スクリプトで何かを行う前に変数を確認できます。

if ( !(currentlyPlaying == $(this).attr('id')) ) {
  // your script
}

または、もちろん、提案したように ID を使用してバインドを解除することもできます。

$('li', '.thumbs #' + $(this).attr('id')).unbind();
于 2012-05-25T06:21:43.333 に答える