jQuery没有按预期执行功能

时间:2011-07-01 16:56:05

标签: javascript jquery api youtube

我确定我的代码存在一些问题。我不知道如何将原始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错误。

PS。如果我删除jquery并添加函数playVideo();点击锚点后,它会按预期播放视频,但会失去滑动功能。

1 个答案:

答案 0 :(得分:0)

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