我在这里看过几篇关于如何更新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;
}
答案 0 :(得分:1)
正如其他人所说,你并没有改变两种情况下 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 ,以便在不隐藏时,元素返回其默认或继承的样式,无论可能是什么。