【发布时间】:2011-09-26 21:58:19
【问题描述】:
我确定我的代码有一些问题。我不确定如何将原始 javascript 与我的 jquery 混合。这是我的js文件中的相关代码:
$(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 错误。
附言。如果我删除 jquery 并添加函数 playVideo();点击锚点后,它会按预期播放视频,但会失去滑动功能。
【问题讨论】:
-
只是一个小风格点:您应该坚持使用单一的方式来处理 JQuery 对象。通过
$或jQuery。 -
你能发布一个工作代码的例子吗?是不是超过
onclick="playVideo();"? -
您是否在“ytplayer.playVideo()”行收到控制台错误?该函数是否被调用?如果您使用的是 FF,您可以打开 JavaScript 控制台并检查(我认为它在工具菜单中),或者您可以安装或使用 Firebug。如果您使用的是 Google Chrome,您可以在 Wrench->Tools 菜单中找到控制台。
-
对不起,这是使用其他一些更新代码的错误。工作示例简单地取下滑动部分并将两个 div 显示为支架,然后简单地给出您发布的命令的链接。
-
我刚刚从我的 js 文件中删除了所有其他代码,它似乎可以工作,一定是与我正在运行的其他东西发生冲突
标签: javascript jquery api youtube