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;
docurrentVolume=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