0

次のjsfiddleを取得しました。これには、基本的に 2 つの imgs と 2 つの iframe があります。
各 img と iframe は (ペアとして) 異なる div にあります。

iframe は非表示ですが、img は非表示です。
img をクリックすると、img が消え、代わりに iframe が表示されます (すぐにビデオの再生が開始されます) 。

2番目の画像をクリックすると、iframeの代わりに最初の画像が再び表示され、ビデオが一時停止し、2番目の画像の再生が開始されます

上記の私のフィドルは、最初の 2 回のオカレンスに対してのみ必要に応じて機能します。その後、エラーが発生します。

Error: TypeError: player.pauseVideo is not a function

そしてビデオは再生されません。

必死に助けを求め、約 7 時間試みましたが、うまくいきませんでした。
ありがとうございました!

4

1 に答える 1

0

imgをクリックしたときにプレーヤーを追加して解決し、このimgにプレーヤーが存在するかどうかを確認し、存在する場合は既存のプレーヤーを再生します

if (typeof players[index] == 'undefined') {
    players.push(new YT.Player(iframe[0], {
        events: {
            'onReady': function (event) {
                event.target.playVideo();
            }
        }
    }));
} else {
    players[index].seekTo(0).playVideo();
}

jsfiddle

于 2013-02-03T20:01:03.017 に答える