当用户单击按钮并自动播放时,我正在使用此代码将youtube视频淡入#vid div。它在所有浏览器中均能完美运行,但是由于某些原因,当我尝试单击Opera 10.5中的按钮时,没有任何反应。请问有什么可能是错误的以及如何解决?
Javascript:
// create youtube player
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('vid', {
height: '539',
width: '958',
videoId: 'CZ0Jorye0jU',
events: {
'onStateChange': onPlayerStateChange
}
});
}
// when video ends
function onPlayerStateChange(event) {
if(event.data === 0) {
$("#vid").fadeOut(500);
}
}
function startVideo() {
$("#vid").fadeIn(2000);
player.playVideo();
$("html, body").animate({ scrollTop: 160 }, 600); return false;
};
HTML:
<a href="javascript:startVideo();" class="eshop index" style="width:319px; left:320px; border-right:1px solid white;">Prehrať ukážku</a>
非常感谢。
最佳答案
我不确定这是否行得通,但是为什么不添加href中的JavaScript,为什么不添加一个类,即
<a class="startVideo eshop index" style="width:319px; left:320px; border-right:1px solid white;">Prehrať ukážku</a>
然后,广告将startVideo()函数绑定(bind)到该事件上的click事件。
$('.startVideo').click(function() { startVideo(); });
就像我说的那样,我不确定是否一定会成功,但是值得一试。要测试的另一件事是确定是否确实没有启动startVideo。只需在startVideo()函数的开头粘贴一个alert('hiya'),然后单击按钮以检查是否已达到目标。
希望能有所帮助。祝好运。