我想通过在函数循环时降低音量来控制音量,但是下面的代码似乎无法正常工作。

var count = 0;
var rotate= 5;
var saudio = $("#saudio").get(0);

function tryitnow(){
count++;
saudio.volume = parseInt(saudio.volume)- parseInt(0.1);
  if (count != rotate) {
    setTimeout(function() {
      tryitnow()
    }, 1000);

  }
}

最佳答案

parseInt(0.1);将返回0,因为它将对 float 0.1进行四舍五入,因此每次您通过0减小音量时

您也不需要parseInt(saudio.volume),因为它也已经是一个数字。

所以这应该工作

var count = 0;
var rotate = 5;
var saudio = $("#saudio").get(0);

function tryitnow() {
  count++;
  saudio.volume = saudio.volume - 0.1;
  if (count != rotate) {
    setTimeout(function() {
      tryitnow()
    }, 1000);

  }
}

10-08 17:18