【问题标题】:Change youtube video on image on stop state在停止状态下更改图像上的 youtube 视频
【发布时间】:2014-01-08 01:58:30
【问题描述】:

我编写了这样的代码,它改变了 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>

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

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

<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">

【问题讨论】:

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


    【解决方案1】:

    您可能想要解决的几个问题。首先,您的条件语句使用单个等号而不是双等号。更重要的是,当您执行 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 对象的状态更改事件。

    【讨论】:

    • 如何绑定和事件?我正在使用 iframe。 onStateChange 是 youtube 播放器的 api,我认为 onStateChange 监听 raketaplayer 状态,当它等于 0 时,脚本正在执行。
    • 虽然 iframe 会引发状态更改事件,但您没有任何方法可以听到它们(它不是自动的)。在定义 $(window).load 函数之前,您需要包含 iFrame API,然后在 click 函数中(创建 iframe 之后),您可以设置一个可以绑定到事件的 YT.Player 对象。请参阅此处:developers.google.com/youtube/… 了解更多详情。
    • 你能帮忙写代码吗?我无法理解如何将所有这些东西联系在一起......(((
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2016-06-21
    • 1970-01-01
    • 2011-10-04
    • 2012-05-08
    • 1970-01-01
    • 2015-08-06
    相关资源
    最近更新 更多