【问题标题】:jQuery Not Executing Function As ExpectedjQuery没有按预期执行函数
【发布时间】: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


【解决方案1】:

您在代码中使用了 $(jQuery( 的奇怪组合。您应该选择其中之一。 $( 是首选,除非它与另一个库冲突。如果发生冲突,只需jQuery( 并使用noconflict()

【讨论】:

  • 是的,很抱歉,有些代码是从我的实时网站复制过来的,由于没有冲突模式,我已经更新为使用 jQuery。
  • @Michael:不需要道歉。进行更改后,您的代码工作方式是否有所不同?
  • 也许这就是问题所在,但我通过将原始 js 放入自己的文件中对其进行了重组。您可以在freecss.info/testing 看到它正在工作,页面上的注册按钮旁边有一个链接可以查看视频。视频滑动以替换 div,然后在结束时滑开。
  • 虽然,现在只是测试它。它似乎不是 100% 的工作,即游戏部分。也许是你在文件准备好之前打电话的时候?
  • 在文档完全加载之前,这些代码都不起作用。您可以尝试将视频 div 最初隐藏,然后在文档准备好时显示它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 2011-08-28
  • 2017-02-05
相关资源
最近更新 更多