我把头发拉了过来。 通常当某些东西不起作用时,它就是IE。 但这在FF和Opera中不起作用。
在下面的代码中,调用了playSound(),因此所有条件都是 被满足,声音正在播放。
然而,在声音结束时,应该使用resetSound()重置声音按钮等。
这在Chrome,IE9和Safari中100%有效。 谁能告诉我为什么它在FF和Opera中不起作用?
function clickSoundbtn(clicked) {
console.log('clickSoundbtn');
if (clicked != bucket['playing_now'] && clicked != bucket['current']) {
console.log('clickSoundbtn');
$('#jquery_jplayer').unbind($.jPlayer.event.ended).bind($.jPlayer.event.ended, function() {
console.log('resetting sound');
resetSound(bucket['playing_now']);
$('#jquery_jplayer').unbind($.jPlayer.event.ended);
bucket = [];
saiseichuu = [];
});
playSound(clicked);
}
else
{
if (bucket['current'])
stopAll();
else
resetSound(clicked);
}
} // end of function: clickSoundbtn
答案 0 :(得分:0)
我弄清楚出了什么问题。 这段代码通过AJAX被调用为div。
所有其他代码都可以保留在父脚本中。 您必须在被调用的AJAX脚本中重新初始化Jplayer。
第1步:初始化播放器的代码位于CALLED脚本中。
my_jPlayer = $("#jquery_jplayer");
my_jPlayer.jPlayer({
swfPath: "/javascript/Jplayer.swf",
wmode: "window"
第2步:播放器div也包含在被调用的脚本中。
<div id=jquery_jplayer></div>
第3步:确保将my_jPlayer变量在父脚本中指定为全局。
var my_jPlayer;