在停止状态下更改图像上的YouTube视频

时间:2013-12-19 13:12:54

标签: javascript video youtube youtube-api youtube-javascript-api

我制作了这样的代码,用于在Youtube视频上更改网站上的图像。

<script type="text/javascript"> 
$(window).load(function(){
    $('img.demovideo').click(function(){
        video = '<iframe class="demovideo" width="100%" height="551px" src="'+ $(this).attr('data-video') +'"></iframe>';
    $(this).replaceWith(video);
});
$('img.demovideo').css('cursor', 'pointer');
});
</script>

如何在播放器状态0上的图像上更改Youtube视频?

我制作了这样的代码,但它不起作用:

<script type="text/javascript"> 

raketaplayer.onStateChange () {

b = raketaplayer.getPlayerState();

if (b=0) {

image = '<img class="demovideo" src="http://raketa.pro/wp-content/uploads/2013/03/image_header_2.png" data-video="http://www.youtube.com/embed/7hoqO36CVRM?&amp;rel=0&amp;theme=light&amp;showinfo=0&amp;hd=1&amp;autohide=1&amp;color=white&amp;autoplay=1&amp;enablejsapi=1&amp;playerapiid=raketaplayer" style="cursor: pointer;">';
    $(iframe.demovideo).replaceWith(image);
});
$('img.demovideo').css('cursor', 'pointer');
});

}

}

</script>

它出了什么问题?请帮助:)

图片代码如下:

<img class="demovideo" src="http://raketa.pro/wp-content/uploads/2013/03/image_header.png" data-video="http://www.youtube.com/embed/7hoqO36CVRM?&rel=0&theme=light&showinfo=0&hd=1&autohide=1&color=white&autoplay=1&amp;enablejsapi=1&amp;playerapiid=raketaplayer">

1 个答案:

答案 0 :(得分:0)

您可能想要解决的几个问题。首先,条件语句使用单个等号而不是double。更重要的是,当你执行onStateChange函数时,它可以使用一个代表事件的参数,它将报告状态变化,而不必查询它,如下所示:

raketaplayer.onStateChange (event) {

if (event.data==0) {

image = '<img class="demovideo" src="http://raketa.pro/wp-content/uploads/2013/03/image_header_2.png" data-video="http://www.youtube.com/embed/7hoqO36CVRM?&amp;rel=0&amp;theme=light&amp;showinfo=0&amp;hd=1&amp;autohide=1&amp;color=white&amp;autoplay=1&amp;enablejsapi=1&amp;playerapiid=raketaplayer" style="cursor: pointer;">';
    $(iframe.demovideo).replaceWith(image);
});
$('img.demovideo').css('cursor', 'pointer');
});

}

}

最后,确保您已将onStateChange函数绑定到您在代码中其他位置创建的YT.Player对象的状态更改事件。