检测用户拖动范围类型输入

时间:2015-02-04 08:22:16

标签: javascript jquery html5 html5-audio

我正在创建一个简单的HTML5音频播放器。我希望用户能够将搜索栏滑块拖动到他们想要的任何时间,但是使用我目前拥有的代码,当timeupdate触发时,滑块返回到原始位置(+1)。如何在用户拖动滑块时禁用搜索栏?

$("#html5audio_seek").bind("change", function() {
    html5audio.currentTime = $(this).val();
    $("#html5audio_seek").attr("max", html5audio.duration);
});
html5audio.addEventListener('timeupdate',function (){
    curtime = parseInt(html5audio.currentTime, 10);
$("#html5audio_seek").attr("value", curtime);
});

1 个答案:

答案 0 :(得分:3)

在评论中建议使用@Zeratops进行修改,修改后的代码来自this answer

添加了一个布尔“playbool”,如果音频正在播放(播放按钮已被点击),则为true;如果音频暂停,则为false(播放按钮尚未点击,点击暂停按钮)。

但是,在播放音频时单击搜索栏(根本不移动鼠标)将无效。

$("#html5audio_seek").on("mouseup", function () {
    html5audio.currentTime = $("#html5audio_seek").val();
    if (playbool) {html5audio.play();}
});

$("#html5audio_seek").on("mousedown", function () {
    if (playbool) {html5audio.pause();}
});

html5audio.addEventListener('timeupdate',function (){
    curtime = parseInt(html5audio.currentTime, 10);
    $("#html5audio_seek").attr("value", curtime);
});