Всем привет. Делаю аудиоплеер, сделал шкалы времени и громкости. С помощью событий клика и наведения мышкой сделал регулировку. Но осталась одна проблема (такую проблему я замечал и в других плеерах).
Допустим, нажали мышкой на блок регулировки звука, и не отпуская, двигаем мышкой, регулируя звук. Если отпустить мышку в этом же блоке, то сработает функция "mouseup" и отвяжет "mousemove" к этому блоку.
А вот если в нажатом виде выйти за пределы блока (например, пользователь захотел сделать 100% громкости и перетащил меняющий размеры блок за пределы общего блока под указатель громкости) и там уже отпустить кнопку - функция "mouseup" не сработает, и при последующем наведении мышкой на блок громкости, внутренний блок всё ещё будет двигаться за мышкой.
Посоветуйте пожалуйста, как решить эту проблему?
Вот мой код JS:
$("#vol").mousedown(function(e){
var offset = $(this).offset();
$("#volCont").width(e.clientX - offset.left);
vol = $("#volCont").width() / 100;
audio.volume = vol;
$("#vol").mousemove(function(e){
var offset = $(this).offset();
$("#volCont").width(e.clientX - offset.left);
vol= $("#volCont").width() / 100;
audio.volume = vol;
});
});
$("#vol").mouseup(function(){
$("#vol").unbind("mousemove");
});