在Javascript中,为什么函数在其上面的行之前被调用?
我对Javascript相当陌生,我似乎无法理解为什么它不能按我希望的方式工作。我正在使用一个叫做熊猫的HTML5JavaScript游戏引擎。我正在尝试暂停游戏,当我暂停游戏时,我想将PauseScreen设置为visible。暂停屏幕是游戏暂停时我试图显示的图像。game.system.pause();是作为发动机一部分的功能。我的问题是,为什么这不能按我希望的方式工作。我假设这是一个关于Javascript的问题,而不是关于panda的问题;对不起,如果我错了。这是Javascript异步特性的结果吗在Javascript中,为什么函数在其上面的行之前被调用?,javascript,html,Javascript,Html,我对Javascript相当陌生,我似乎无法理解为什么它不能按我希望的方式工作。我正在使用一个叫做熊猫的HTML5JavaScript游戏引擎。我正在尝试暂停游戏,当我暂停游戏时,我想将PauseScreen设置为visible。暂停屏幕是游戏暂停时我试图显示的图像。game.system.pause();是作为发动机一部分的功能。我的问题是,为什么这不能按我希望的方式工作。我假设这是一个关于Javascript的问题,而不是关于panda的问题;对不起,如果我错了。这是Javascript异步
pauseGameFunc = function (gmPsd){
if (gmPsd === 0) {
pauseScreen.visible = true;
return game.system.pause();
}
else {
pauseScreen.visible = false;
return game.system.resume();
}
}
你能给我的任何帮助都会很棒。对不起,我没有提供足够的细节。提前谢谢
pauseScreen.visible=true代码>如果pauseScreen
是图像元素,则不执行任何操作。如果您想隐藏它,它是:
pauseScreen.style.display = "none";
要再次显示:
pauseScreen.style.display = "";
另一个选项是可见性
属性和值“可见”
和“隐藏”
。不同之处在于,使用显示
,隐藏图像不会占用布局中的任何空间。使用visibility
“隐藏”
,它仍然占据空间,只是不显示。在pauseGameFunc之前使用var关键字,否则pauseGameFunc将是一个全局变量pauseScreen.style.visibility='visible'
或.style.display='inherit'代码>我建议在body上切换一个类,并使用继承的CSS来实现这一点,而不是在代码中处理离散的dom元素。这使得在稍后暂停时开始显示其他内容变得很简单,或者使用类似于淡入淡出的动画,而不是只显示/隐藏。@dandavis:是的,在body
上,或者至少在游戏容器上。bigtime.JavaScript没有“异步性质”。有些方法被设计为异步的,但语言本身及其基本操作(如变量赋值)是同步的。