2014-02-13 138 views
1

我有一个jw播放器,链接点击更改视频。我也有其他类型的球员,所以我需要隐藏jw球员并切换到youtube球员。问题在于,当播放器可见时,jw播放器在第二次点击时加载视频。任何解决方案,以便玩家在第一次点击时加载视频。jQuery第一次点击显示()第二次加载视频

<div id="jw_container">  
<script type="text/javascript" src="https://content.jwplatform.com/players/hsdfQtN-ieOuTCiv.js"></script> 
</div> 

<li><a href="javascript:playTrailer('Bmodfg5AS')" id="vid_link3">video</a></li> 

function playTrailer(key) { 
    $('#jw_container').show(); // show video player   
    jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml"); 
    jwplayer().play({ 
     autostart: false 
    }); 
} 

正如你所看到的,首先点击使视频可见,然后再加载特定的视频。有一个解决方案,而不是使用show();使用.css('visibility','visible')但是会导致一些css问题。

的实际代码:

var loaded = false; 
    function playTrailer(key) { 
     $('#yt_container').hide(); // hide youtube 
     $('#jw_container').show("slow", function() {  
     jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");   
     }); 
     loaded = true; 
    } 
    jwplayer().onPlaylistItem(function() { 
     if(loaded) {  
     jwplayer().play({autostart:false}); 
     } 
    }) 
+0

如果你让autostart为true,该怎么办? – Nirus

+0

没有什么,同样的事情发生。实际上自动启动甚至不会改变任何东西,很奇怪。 – SamotnyPocitac

回答

3

我想你需要的是设置

编辑

$('#jw_container').show(0,'', function() { 
    // Animation complete. 
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml"); 
jwplayer().play(true); 
    }); 

可以想像这可能是播放列表不加载,以便播放方法正在执行什么都没有。所以这也可能工作:

function playTrailer(key) { 
    $('#jw_container').show(); // show video player   
     jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml"); 
    jwplayer().onPlaylist(function(event){ 
     jwplayer().play(true); 
     }); 
    } 
+0

对不起,没有帮助。 – SamotnyPocitac

+0

@SamotnyPocitac尝试编辑的版本,如果这不起作用,我还有一个想法。 – Thunda

+0

卓越,这工作。我如何删除慢速动画? – SamotnyPocitac