【发布时间】:2017-11-03 20:22:46
【问题描述】:
如何在更改时停止/暂停 jQuery 音频?
$("#alarm").bind("change", function(event)
{
var audio = $(this).find(':selected').attr('data-audio');
var obj = document.createElement("audio");
obj.src="assets/audio/"+audio;
obj.volume=0.1;
obj.autoPlay=false;
obj.preLoad=true;
obj.play();
});
我尝试在obj.play(); 之前添加obj.pause();,但它仍然运行音乐。因此,如果我更改为另一个组合框,音频将播放多个。
我想要的是在更改时停止/暂停音频。
HTML
<select name="alarm" id="alarm">
<?php
$qAlarm = mysqli_query($con, "SELECT * FROM tb_alarm WHERE active = 'Y'");
while($dAlarm = mysqli_fetch_array($qAlarm))
{
if($dAlarm['alarm_id'] == $getAlarmID)
{
?>
<option value="<?php echo $dAlarm['alarm_id']; ?>" selected data-audio=<?php echo $dAlarm['alarm_file']; ?>><?php echo $dAlarm['alarm_name']; ?></option>
<?php
}
else
{
?>
<option value="<?php echo $dAlarm['alarm_id']; ?>" data-audio=<?php echo $dAlarm['alarm_file']; ?>><?php echo $dAlarm['alarm_name']; ?></option>
<?php
}
}
?>
</select>
【问题讨论】:
-
请附上您的html代码
-
代替 obj.pause();做 obj.src = '';这不是一个理想的方法,但它是一个快速修复。
-
@CarstenLøvboAndersen 添加了 html 代码