将JW Player与ColorBox和jQuery一起使用并不会显示回调正确触发。这是一个片段:
$(".thumbnail").live('click', function(event) {
event.preventDefault();
var videoFile = $(this).attr('id');
jwplayer('viewPort').setup({
'flashplayer': '../jwplayer/player.swf',
'file': 'data/' + videoFile,
'id': 'playerID',
'width': '100%',
'height': '100%',
'controlbar':'bottom',
'controlbar.idlehide':'false',
'skin':'../jwplayer/skins/big.zip',
'plugins': {
'gapro-2': { },
},
'onComplete': function () {
$("#colorBox").colorbox.close();
}
});
$("#colorBox").colorbox({
'width':"80%",
'height':"80%",
'transition':"fade",
'scrolling':false,
'inline':true,
'href':"#viewPort",
'open':true,
'onComplete': function () {
jwplayer('viewPort').play();
},
'onClosed': function () {
jwplayer('viewPort').remove();
}
});
});
未点火的是onComplete
和jwplayer
的{{1}}。
我可以在控制台(Firebug)中执行命令colorbox
, 关闭。 $("#colorBox").colorbox.close();
这可能是方法名称之间的冲突吗?因为jwplayer('viewPort').play();
发射得很好。
答案 0 :(得分:1)
对于JWPlayer,您应该将事件处理程序放在选项对象的events
属性中:
jwplayer(...).setup({
...
events : {
onComplete : function () {
console.log('Chicken\'s Done!');
}
}
});
以下是文档中描述如何注册事件处理程序的部分的链接:http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12540/javascript-api-reference#Events
我对Colorbox不太熟悉,所以我不确定如何初始化它的回调,但文档说明你可以绑定到这样的全局onComplete
事件:
$(document).bind('cbox_complete', function(){
setTimeout($.colorbox.next, 1500);
});
来源:http://jacklmoore.com/colorbox/(靠近底部的是“事件挂钩”)