编辑(更具体):
我有以下情况。我正在使用JavaScript构建一个实验性的合成器界面。我正在使用howler.js插件来处理音频。 这个想法是,当满足某个条件时播放声音。我有一个存储变量,其值通过的标题而改变。 我使用compass.js。它有一个叫做heading的变量。
$(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循环内的命令一次?我无法在指南针函数之外访问heading的值。我总是收到“var heading不存在”的错误提示。