用于更改全局变量值的JavaScript函数
我在做一个动画,我试图控制显示什么和不显示什么。 要做到这一点,我要设置IF条件,如果var x=0,则不显示,如果var x=1,则显示 到目前为止,我已经让它工作了(当我指定var x=1时,它工作了),它只是一个改变值的语句,不起作用,我想是因为范围的原因,但我希望有人能帮我一把 这个想法是,如果你点击“黑色”,它会显示一些扬声器 非常感谢用于更改全局变量值的JavaScript函数,javascript,debugging,animation,parameters,global-variables,Javascript,Debugging,Animation,Parameters,Global Variables,我在做一个动画,我试图控制显示什么和不显示什么。 要做到这一点,我要设置IF条件,如果var x=0,则不显示,如果var x=1,则显示 到目前为止,我已经让它工作了(当我指定var x=1时,它工作了),它只是一个改变值的语句,不起作用,我想是因为范围的原因,但我希望有人能帮我一把 这个想法是,如果你点击“黑色”,它会显示一些扬声器 非常感谢 window.onload = init; function init() { var white = paper.rect
window.onload = init;
function init() {
var white = paper.rect( 740, 575, 20, 20);
var black = paper.rect( 770, 575, 20, 20);
var yellow = paper.rect( 40, 575, 20, 20);
var audio = new Audio('sound.mp3');
var displaySpeakers = 0;
function displayFunction() {
displaySpeakers = 1;
}
function speakers() {
if (displaySpeakers == 0)
return;
// otherwise this function displays the speakers
}
speakers(); // this calls the speakers.
black.attr({fill: "black", stroke: "none"}).click(function(){displayFunction();});
// Black should display the speakers
};
正如蒂姆所说,您不调用
扬声器
功能。您在onload
事件后调用它一次,但当您单击black
时,只需将displaySpeakers
的值更改为1
未调用
扬声器
函数,因此无法知道值已更改。您只需将扬声器
调用到显示功能
中,或直接调用单击
功能 你从来没有在发布的代码中调用过speakers()
,也许我们需要更多的上下文。我过滤了一些不相关的代码。我调用底部第四行的扬声器,然后单击黑色将var displaySpeakers更改为1,扬声器将显示。为什么这不起作用?如果所有的代码都放在init()
(看起来像这样),那么displaySpeakers就不会有问题了。或者在帖子里有更多丢失/错放的花括号吗?谢谢,我现在明白了。每次“更新”值时,speaker()必须再次运行。因此,多次运行speaker(),因此如果我将displaySpeakers的值设置为0并运行它,它将不会再次出现,但仍将显示上一次运行。这解决了另一个问题。。。有什么想法吗?@MTTPC没有更多的代码我不能准确地告诉你,也许你应该把你的演讲者HTML代码嵌入一个带有id的div,然后调用JQuery函数。