Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-$(audio).on(';end';function())仅在第一个元素上激发一次_Javascript_Jquery_Audio - Fatal编程技术网

Javascript jQuery-$(audio).on(';end';function())仅在第一个元素上激发一次

Javascript jQuery-$(audio).on(';end';function())仅在第一个元素上激发一次,javascript,jquery,audio,Javascript,Jquery,Audio,我刚刚开始使用jQuery,并按照教程构建了一个音频播放器 我希望每次歌曲结束时,我的音频自动转到下一首歌曲并播放它 我在这里检查了一个答案,它与我所做的教程完全一致,但是这个答案并没有解决问题 我已将非工作功能标记为“断开” var音频; //隐藏暂停按钮 $(“#暂停”).hide(); //初始化第一首歌 initAudio($(“#播放列表li:第一个孩子”); 函数初始化音频(元素){ var song=element.attr('song'); var artist=element

我刚刚开始使用jQuery,并按照教程构建了一个音频播放器

我希望每次歌曲结束时,我的音频自动转到下一首歌曲并播放它

我在这里检查了一个答案,它与我所做的教程完全一致,但是这个答案并没有解决问题

我已将非工作功能标记为“断开”

var音频;
//隐藏暂停按钮
$(“#暂停”).hide();
//初始化第一首歌
initAudio($(“#播放列表li:第一个孩子”);
函数初始化音频(元素){
var song=element.attr('song');
var artist=element.attr('artist');
//创建音频对象
音频=新音频(“音乐/”+歌曲+“.mp3”);
//如果未加载歌曲,则显示0:00
如果(!audio.currentTime){
$('#duration').html('0:00');
}
//否则获取持续时间并显示
showDuration();
//获得艺术家和歌曲标题
$('#audio player.audio title')。文本('-'+歌曲);
$(“#音频播放器.音频艺术家”).text(艺术家);
$(“#playlist li”).removeClass('active-audio');
元素addClass('active-audio');
}
//单击播放列表歌曲
$(“#播放列表li”)。单击(函数(){
audio.pause();
initAudio($(this));
音频播放();
showDuration();
$(“#播放”).hide();
$(“#暂停”).show();
});
//播放按钮
$(“#播放”)。单击(函数(){
音频播放();
$(“#播放”).hide();
$(“#暂停”).show();
美元("期间").法代因(400),;
showDuration();
});
//暂停按钮
$('#暂停')。单击(函数(){
audio.pause();
$(“#暂停”).hide();
$('#play').show();
美元("期间").法代因(400),;
showDuration();
});
//下一个按钮
$(“#下一步”)。单击(函数(){
audio.pause();
var next=$('#playlist li.active audio').next();
如果(next.length==0){
next=$(“#播放列表李:第一个孩子”);
}
初始化音频(下一个);
音频播放();
showDuration();
如果($('#play')。是(':visible')){
$(“#播放”).hide();
$(“#暂停”).show();
}
});
//上一个按钮
$('#prev')。单击(函数(){
audio.pause();
var prev=$('#playlist li.active audio').prev();
如果(上一个长度==0){
上一个=$(“#播放列表李:最后一个孩子”);
}
初始音频(上一个);
音频播放();
showDuration();
如果($('#play')。是(':visible')){
$(“#播放”).hide();
$(“#暂停”).show();
}
});
//音量控制
$('#卷')。更改(函数(){
audio.volume=parseFloat(this.value/100);
});
//持续时间
函数showDuration(){
$(音频).on('timeupdate',function(){
//获得小时$分钟
var s=parseInt(audio.currentTime%60);
var m=parseInt((audio.currentTime)/60)%60;
//如果<10,则添加0
如果(s<10){
s='0'+s;
}
$('#duration').html(m+':'+s);
var值=0;
如果(audio.currentTime>0){
值=((100/音频.持续时间)*音频.当前时间);
}
$('#progress').css('width',value+'%');
});
}
//如果歌曲已结束,请转到下一步===已中断
$(音频).on('end',function(){
$('#next')。触发器('click');
});
//单击进度条
$(“#进度条”).mousedown(函数(e){
var leftOffset=e.pageX-$(this).offset().left;
var songPercents=leftOffset/$(“#progressbar”).width();
audio.currentTime=歌曲百分比*audio.duration;

});
end
事件侦听器移动到initAudio()函数中。这应该可以解决问题

var音频;
//隐藏暂停按钮
$(“#暂停”).hide();
//初始化第一首歌
initAudio($(“#播放列表li:第一个孩子”);
函数初始化音频(元素){
var song=element.attr('song');
var artist=element.attr('artist');
//创建音频对象
音频=新音频(“音乐/”+歌曲+“.mp3”);
//如果未加载歌曲,则显示0:00
如果(!audio.currentTime){
$('#duration').html('0:00');
}
//否则获取持续时间并显示
showDuration();
//获得艺术家和歌曲标题
$('#audio player.audio title')。文本('-'+歌曲);
$(“#音频播放器.音频艺术家”).text(艺术家);
$(“#playlist li”).removeClass('active-audio');
元素addClass('active-audio');
//如果歌曲已结束,请转到下一步===已中断
$(音频).on('end',function(){
$('#next')。触发器('click');
});
}
//单击播放列表歌曲
$(“#播放列表li”)。单击(函数(){
audio.pause();
initAudio($(this));
音频播放();
showDuration();
$(“#播放”).hide();
$(“#暂停”).show();
});
//播放按钮
$(“#播放”)。单击(函数(){
音频播放();
$(“#播放”).hide();
$(“#暂停”).show();
美元("期间").法代因(400),;
showDuration();
});
//暂停按钮
$('#暂停')。单击(函数(){
audio.pause();
$(“#暂停”).hide();
$('#play').show();
美元("期间").法代因(400),;
showDuration();
});
//下一个按钮
$(“#下一步”)。单击(函数(){
audio.pause();
var next=$('#playlist li.active audio').next();
如果(next.length==0){
next=$(“#播放列表李:第一个孩子”);
}
初始化音频(下一个);
音频播放();
showDuration();
如果($('#play')。是(':visible')){
$(“#播放”).hide();
$(“#暂停”).show();
}
});
//上一个按钮
$('#prev')。单击(函数(){
audio.pause();
var prev=$('#playlist li.active audio').prev();
如果(上一个长度==0){
上一个=$(“#播放列表李:最后一个孩子”);
}
初始音频(上一个);
音频播放();
showDuration();
如果($('#play')。是(':visible')){
$(“#播放”).hide();
$(“#暂停”).show();
}
});
//音量控制
$('#卷')。更改(函数(){
audio.volume=parseFloat(this.value/100);
});
//持续时间
函数showDuration(){
$(音频).on('timeupdate',function(){
//获得小时$分钟
var s=parseInt(audio.currentTime%60);
var m=parseInt((audio.currentTime)/60)%60;
//如果<10,则添加0
如果(s<10){
s='0'+s;
}
$('#duration').html(m+':'