JavaScript音量上下按钮

JavaScript音量上下按钮,javascript,Javascript,所以我有音量上升和下降按钮,每次音量增加时都会显示一个通知 增大音量 function volumeUp() { if (currentVolume < .9) { currentVolume += .1; sound.volume = currentVolume; var $toastContent = $('<span>Volume '+ parseInt(currentVolume * 100)+ ' %' + '</

所以我有音量上升和下降按钮,每次音量增加时都会显示一个通知

增大音量

  function volumeUp() {
    if (currentVolume < .9) {
      currentVolume += .1;
      sound.volume = currentVolume;
      var $toastContent = $('<span>Volume '+ parseInt(currentVolume * 100)+ ' %' + '</span>' );
      Materialize.toast($toastContent, 2000);
    } else {
      alert("Max Vol")
    }
  }
函数volumeUp(){
如果(当前卷<.9){
当前音量+=.1;
sound.volume=当前音量;
var$toastContent=$('Volume'+parseInt(currentVolume*100)+'%'+'';
toast(toast Content,2000年);
}否则{
警报(“最大音量”)
}
}
音量下降

  function volumeDown() {
    if (currentVolume > .1) {
      currentVolume -= .1;
      sound.volume = currentVolume;
      var $toastContent = $('<span>Volume '+ parseInt(currentVolume * 100)+ ' %' + '</span>' );
      Materialize.toast($toastContent, 2000);
    } else {
      alert("Min Vol")
    }
  }
函数volumeDown(){
如果(当前卷>0.1){
当前卷-=.1;
sound.volume=当前音量;
var$toastContent=$('Volume'+parseInt(currentVolume*100)+'%'+'';
toast(toast Content,2000年);
}否则{
警报(“最小音量”)
}
}
我遇到的问题是,当我达到<80%时,它开始以89然后99而不是90和100发出警报

当我达到10%并降低它时,它显示为2%,而不是0%

有什么想法吗


谢谢大家!

首先,下面这行没有意义

currentVolume = currentVolume += .1;
do
currentVolume=currentVolume+.1或<代码>当前卷+=.1

.9
之后和
.1
之下,如果您想对
1
进行增量或减量,而不是
10
,那么您应该这样做

currentVolume += .01; // Instead of .1 in your volumeUp() function


正如Amit提到的,它是关于浮点数学的。 如果打开控制台并声明一个变量并用
0.7+0.1
对其进行初始化,您将看到它的实际值将为0.7999999999

对于你的媒体播放器来说,它不会有什么不同,所以它只是关于显示这个值。您有两个选择:

1) 使用整数:

function volumeUp() {
  if (currentVolume < 90) {
    currentVolume = currentVolume + 10;
    sound.volume = currentVolume / 100;
    var $toastContent = $('<span>Volume '+ currentVolume+ ' %' + '</span>' );
    Materialize.toast($toastContent, 2000);
  } else {
    alert("Max Vol")
  }
}


可能与调试器重复,请注意,了解如何使用调试器我已经使用调试器很多年了。这就是我在这里发帖的原因。谢谢你的链接。我会努力的。太好了!使用第一种解决方案。谢谢你,安德鲁
function volumeUp() {
  if (currentVolume < 90) {
    currentVolume = currentVolume + 10;
    sound.volume = currentVolume / 100;
    var $toastContent = $('<span>Volume '+ currentVolume+ ' %' + '</span>' );
    Materialize.toast($toastContent, 2000);
  } else {
    alert("Max Vol")
  }
}
currentVolume = Math.round((currentVolume + 0.1) * 10) / 10;
currentVolume = (parseFloat(currentVolume) + 0.1).toFixed(1); //string representation with one decimal