javascript 后全局变量未更新
Global variable not updating in javascript
我在这里看到了几篇关于如何更新 Javascript 全局变量的帖子。我正在尝试将其用作切换开关,以便当该函数再次运行时,它会执行与刚刚执行的操作相反的操作(或者,无论我将其设置为做什么。)
它不起作用,我很沮丧,因为我也没有从开发者控制台收到任何错误。
var display_menu_toggle = false;
function display_menu() {
if (display_menu_toggle == true) {
document.getElementById('barometer').style.display = "none";
document.getElementById('finance').style.display = "none";
return false;
}
document.getElementById('barometer').style.display = "block";
document.getElementById('finance').style.display = "block";
display_menu_toggle = true;
return true;
}
正如其他人所说,您不会针对这两种情况更改 display_menu_toggle 的值。考虑:
var display_menu_toggle = false;
function display_menu() {
document.getElementById('barometer').style.display = display_menu_toggle? "none" : '';
document.getElementById('finance').style.display = display_menu_toggle? "none" : '';
display_menu_toggle = !display_menu_toggle;
}
通常最好在 none 和 ''(空字符串)之间切换 style.display,这样未隐藏时,元素 returns 为其默认或继承的样式,无论可能是什么。
我在这里看到了几篇关于如何更新 Javascript 全局变量的帖子。我正在尝试将其用作切换开关,以便当该函数再次运行时,它会执行与刚刚执行的操作相反的操作(或者,无论我将其设置为做什么。)
它不起作用,我很沮丧,因为我也没有从开发者控制台收到任何错误。
var display_menu_toggle = false;
function display_menu() {
if (display_menu_toggle == true) {
document.getElementById('barometer').style.display = "none";
document.getElementById('finance').style.display = "none";
return false;
}
document.getElementById('barometer').style.display = "block";
document.getElementById('finance').style.display = "block";
display_menu_toggle = true;
return true;
}
正如其他人所说,您不会针对这两种情况更改 display_menu_toggle 的值。考虑:
var display_menu_toggle = false;
function display_menu() {
document.getElementById('barometer').style.display = display_menu_toggle? "none" : '';
document.getElementById('finance').style.display = display_menu_toggle? "none" : '';
display_menu_toggle = !display_menu_toggle;
}
通常最好在 none 和 ''(空字符串)之间切换 style.display,这样未隐藏时,元素 returns 为其默认或继承的样式,无论可能是什么。