Javascript Jquery可点击音频滑块,窗口宽度更改时出错
我有一个自定义的音频播放器的网站,我的工作。它的进度条是可点击的(也就是说,它会跳到歌曲的某个部分,这取决于进度条被点击的位置) 滑块默认为1000px,当大众低于1000px时,玩家将成为大众的100%。 现在问题就从这里开始了,因为随着宽度的减小,当前时间会显著偏离所需的时间点(在右侧,阅读歌曲的开头) 我尝试与大众汽车合作,但失败了,目前我完全没有想法。 这是播放器的代码,它是整个播放功能的一部分,但只有这些部分用于进度条:Javascript Jquery可点击音频滑块,窗口宽度更改时出错,javascript,jquery,audio,Javascript,Jquery,Audio,我有一个自定义的音频播放器的网站,我的工作。它的进度条是可点击的(也就是说,它会跳到歌曲的某个部分,这取决于进度条被点击的位置) 滑块默认为1000px,当大众低于1000px时,玩家将成为大众的100%。 现在问题就从这里开始了,因为随着宽度的减小,当前时间会显著偏离所需的时间点(在右侧,阅读歌曲的开头) 我尝试与大众汽车合作,但失败了,目前我完全没有想法。 这是播放器的代码,它是整个播放功能的一部分,但只有这些部分用于进度条: audio.ontimeupdate = function
audio.ontimeupdate = function () {
$('.progress').css("width", audio.currentTime / audio.duration * 100 + '%');
}
$('#slider').bind('click', function (ev) {
var $div = $(ev.target);
var $display = $div.find('#progcont');
var vW = $(window).width();
var offset = $div.offset();
var x = ev.clientX - offset.left;
$('.progress').css("width", x);
if (vW > 1000){
/*THIS WORKS BUT ONLY TO vW > 1000*/
audio.currentTime = (x / 850 * audio.duration);
} else{
/*FAILED ATTEMPT BELOW*/
audio.currentTime = ((x / (vW / 1.7)) * audio.duration) ;
}
});
非常感谢您的帮助。我通过让脚本采用的不是像素值,而是百分比来解决这个问题:
$('#slider').bind('click', function (ev) {
var $div = $(ev.target);
var $display = $div.find('#progcont');
var vW = $(window).width();
var pW = $("#progcont").width();
var offset = $div.offset();
var x = ev.clientX - offset.left;
var ProcRatio = x / pW;
audio.currentTime = ProcRatio * audio.duration;
});