私は自分のコードにいくつか問題があると確信しています。私のjQueryと生のjavascriptをどのように混ぜるかわからない。私のjsファイルに関連するコードは次のとおりです。jQuery関数が期待どおりに実行されていません
$(document).ready(function() {
$('#show-video').click(function(event) {
jQuery('.player-hold').slideDown("slow");
$('#book').slideDown('slow', function() {
playVideo();
});
jQuery('.features').slideUp("slow");
});
});
function onPlayerStateChange(newState) {
if(newState == 0) {
jQuery('.player-hold').slideUp("slow");
jQuery('.features').slideDown("slow");
}
}
function playVideo() {
if (ytplayer) {
ytplayer.playVideo();
}
}
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("ytPlayer");
ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
ytplayer.setPlaybackQuality("highres");
ytplayer.cueVideoById("PoTa2FTmDWk");
}
基本的には、ビデオを見るためのリンクを持つdivがあります。リンクがクリックされると、ビデオ(以前は表示されていません)が表示され、リンクを含むdivが非表示になります。これは正常に動作します。最後の部分は、ビデオがビデオをスライドさせて終了し、divコンテナが戻ってくるところです。すべて動作します。問題は、ビデオが表示されたら、私は再生ビデオを実行したいということです。これは動作していません。
確かに簡単な修正/ noobyの間違いです。
PS。 jqueryを削除して関数playVideo()を追加すると、アンカーにクリックすると、ビデオは期待どおりに再生されますが、スライド機能は失われます。
ちょっとしたスタイルのポイント:JQueryオブジェクトをアドレス指定する単一の方法に固執する必要があります。 '$'または 'jQuery'のどちらかです。 – nfechner
作業コードの例を投稿できますか?それは 'onclick =" playVideo(); "よりもですか? –
「ytplayer.playVideo()」という行にコンソールエラーが表示されますか?その関数は呼び出されますか? FFを使用している場合は、JavaScriptコンソールを開いて(ツールメニューにあると思います)、Firebugをインストールまたは使用できます。 Google Chromeを使用している場合は、レンチ - >ツールメニューでコンソールを見つけることができます。 – rav