0

そのため、画像を非表示にすると同時に、その下の動画(6つのうち1つ)の再生を開始する機能があります。それはうまく機能し、divがフェードアウトし、再生されます。ただし、これは初めて機能します。

6つの親指(リスト内のすべてのアイテム)があり、それぞれがビデオの1つを再生しますよね?そのため、親指を押すたびに、画像が(すばやく)戻ってから、ゆっくりとフェードアウトする必要があります。したがって、クリックするたびに、ある種のミニリセットが行われます。

コードは

$(document).ready(function () {

    $('li, .thumbs').on('click', function () {


        var numb = $(this).index(),
            videos = [
                'images/talking1.m4v',
                'images/talking2.m4v', 
                'images/talking1.m4v', 
                'images/talking2.m4v', 
                'images/talking1.m4v', 
                'images/talking2.m4v'
            ],
            myVideo = document.getElementById('myVid');
            myVideo.src = videos[numb];

        myVideo.load();
        $('#MyT').addClass('clear');
        myVideo.play();

    });

});

私は物事をシャッフルしてみましたが、サイコロはありませんでした。そして、はい、ビデオの読み込みが完了するとフェードを開始することになっています。これはiPad用であり、ビデオの読み込み時に発生するちらつきを回避するためのより良い方法は見つかりませんでした。

編集:わかりました、私ができる最善の方法を説明しようとしています...ページが読み込まれ、画像が一番上に表示されます。サムネイルは6つあり、1つはクリックされます。ビデオのロード中に画像がフェードアウトし(ビデオが最初にロードを終了する限り、これを同期する必要はありません)、その後再生されます。あるポイント、別の親指を押すと、ビデオがロードされている間、画像が元に戻ってフェードし、カバーします。基本的に、最初のクリックの状態はクリックごとに繰り返されます。

4

1 に答える 1

1

ビデオがいつ終了したかを確認するには、次のことを試してください。

$('#my_video_id').bind("ended", function(){ 
      alert('Video Ended'); 
      $('#MyT').removeClass('clear');
    });

http://help.videojs.com/discussions/questions/40-jquery-and-event-listenersから取得

彼らのために働いたようですので、同様の結果があれば教えてください。

編集

したがって、サムネイルをクリックするときは、コメントセクションのリンクで説明されているように、最初にビデオがすでに再生されているかどうかを確認する必要があります。ビデオが再生されている場合は、そのビデオを停止し、そのビデオに「クリア」クラスを追加します。次に、2番目のビデオをフェードインします。すべての条件、制約、およびHTMLコードがわからないため、明らかにすべてを書き込むことはできませんが、基本的な概要はそこにあります。

于 2012-05-07T00:40:55.697 に答える