【发布时间】:2015-05-03 00:21:28
【问题描述】:
编辑(更具体):
我有以下情况。我正在用 JavaScript 构建一个实验性的合成器接口。我正在使用howler.js 插件来处理音频。 这个想法是,如果满足特定条件,就会播放声音。我有一个数字存储变量,其值通过 iPhone 指南针的标题 改变。 我使用compass.js。它有一个名为标题的变量。
$(function(){
Compass.watch(function (heading) {
$('.degrees').text(Math.floor(heading) + '°');
$('#rotate').css('-webkit-transform', 'rotate(' + (-heading) + 'deg)');
if (heading >= 10 && heading <= 30) {
sound.play("myFirstSound");
}
else if (heading >= 31 && heading <= 60) {
sound.play("mySecondSound");
} else { etc etc...
});
});
即使标题不变,.play 命令也不会执行一次,而是一遍又一遍地执行,导致音频引擎内存不足。如何仅在 if 循环中执行一次命令?我无法访问指南针功能之外的航向值。我总是得到 var 标题不存在 错误。
【问题讨论】:
-
我在你的代码中没有看到循环......我必须想象它?
-
添加计数器/触发变量...
-
IF 不是一个循环,而是条件如果那是你想说的。
-
对不起。我还不熟悉循环的确切含义。原谅我粗鲁的表情。我认为这可能是一个循环,因为 if 中的命令被一遍又一遍地执行。那么它不符合循环条件吗?
-
如果您不知道循环,您似乎正在编程超出您应该做的事情......而且我认为您的 ifs 处于某种循环中,以便触发超过一次。也许在一个经常被触发的函数中。
标签: javascript jquery html if-statement web