0

一連のボタンの1つをクリックすると、ビデオの再生中に画像がポップアップしてからフェードするページがあります。問題は、最初のクリックで機能することですが、2回目では、ビデオが読み込まれたに画像のdivが読み込まれます。動画の読み込みが始まる前に表示されるようにするにはどうすればよいですか?スクリプト(簡略化)は

$('li, .thumbs').on('click', function() {
    myVideo.load();
    myVideo.play();
    $('#myVid').bind("loadstart", function() {
        $('#MyT').fadeIn(0);
    });
    $('#myVid').bind("playing", function() {
        $('#MyT').fadeOut(500);
    });
});​
4

2 に答える 2

1

再生にタイムアウトを設定:

$('li, .thumbs').on('click', function() {
    setTimeout(function(){
        myVideo.load();
        myVideo.play();
    }, 200); // 200 ms, you can custom it as you wish.

    $('#myVid').bind("loadstart", function() {
        $('#MyT').fadeIn(0);
    });
    $('#myVid').bind("playing", function() {
        $('#MyT').fadeOut(500);
    });
});​
于 2012-05-13T23:04:54.257 に答える
1

画像の onload 関数を使用してみてください。これにより、他の処理が行われる前に画像が読み込まれます

私はブログ記事を書いた、それを行う方法. ブログで説明されているように、ビデオの読み込みやその他の関数を onImgLoad 関数内に配置できます。これにより、動画が始まる前に画像が読み込まれて表示されるようになります。

于 2012-05-13T23:47:33.117 に答える