当用户单击按钮并自动播放时,我正在使用此代码将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'),然后单击按钮以检查是否已达到目标。

希望能有所帮助。祝好运。

08-18 03:47