Javascript Jquery可点击音频滑块,窗口宽度更改时出错

Javascript Jquery可点击音频滑块,窗口宽度更改时出错,javascript,jquery,audio,Javascript,Jquery,Audio,我有一个自定义的音频播放器的网站,我的工作。它的进度条是可点击的(也就是说,它会跳到歌曲的某个部分,这取决于进度条被点击的位置) 滑块默认为1000px,当大众低于1000px时,玩家将成为大众的100%。 现在问题就从这里开始了,因为随着宽度的减小,当前时间会显著偏离所需的时间点(在右侧,阅读歌曲的开头) 我尝试与大众汽车合作,但失败了,目前我完全没有想法。 这是播放器的代码,它是整个播放功能的一部分,但只有这些部分用于进度条: audio.ontimeupdate = function

我有一个自定义的音频播放器的网站,我的工作。它的进度条是可点击的(也就是说,它会跳到歌曲的某个部分,这取决于进度条被点击的位置)

滑块默认为1000px,当大众低于1000px时,玩家将成为大众的100%。 现在问题就从这里开始了,因为随着宽度的减小,当前时间会显著偏离所需的时间点(在右侧,阅读歌曲的开头)

我尝试与大众汽车合作,但失败了,目前我完全没有想法。 这是播放器的代码,它是整个播放功能的一部分,但只有这些部分用于进度条:

   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;

        });