局部变量的声明
declaration of local variable
我正在使用以下javascript代码。。在所有函数启动之前,我已经声明了局部变量,但函数在被调用时不会执行。。但当我用函数中的所有变量的内容替换它们时,它才起作用。。。我可能做错了什么。。我的代码如下。。。
/* variables */
var dmv = document.getElementById("dmv").style;
var nomv = document.getElementById("nomv").style;
var frsv = document.getElementById("frsv").style;
/* end of variables */
function messagesClick() {
document.getElementById("notifications").style.visibility = 'visible';
if (dmv.visibility == 'hidden') {
dmv.visibility = 'visible';
nomv.visibility = 'hidden';
frsv.visibility = 'hidden';
}else{
dmv.visibility = 'hidden';
}
}
function notificationsClick() {
document.getElementById("notifications").style.visibility = 'visible';
if (nomv.visibility == 'hidden') {
nomv.visibility = 'visible';
dmv.visibility = 'hidden';
frsv.visibility = 'hidden';
}else{
nomv.visibility = 'hidden';
}
}
function friendRequestClick() {
document.getElementById("notifications").style.visibility = 'visible';
if (frsv.visibility == 'hidden') {
frsv.visibility = 'visible';
dmv.visibility = 'hidden';
nomv.visibility = 'hidden';
}else{
frsv.visibility = 'hidden';
}
}
任何帮助都将不胜感激。。提前感谢..:)
您必须等到元素存在后才能访问它们。
您可以等到第一次需要这些值时再获取:
var dmv, nomv, frsv;
var gotStyles = false;
function getStyles() {
if (!gotStyles) {
gotStyles = true;
dmv = document.getElementById("dmv").style;
nomv = document.getElementById("nomv").style;
frsv = document.getElementById("frsv").style;
}
}
function messagesClick() {
getStyles();
document.getElementById("notifications").style.visibility = 'visible';
if (dmv.visibility == 'hidden') {
dmv.visibility = 'visible';
nomv.visibility = 'hidden';
frsv.visibility = 'hidden';
}else{
dmv.visibility = 'hidden';
}
}
function notificationsClick() {
getStyles();
document.getElementById("notifications").style.visibility = 'visible';
if (nomv.visibility == 'hidden') {
nomv.visibility = 'visible';
dmv.visibility = 'hidden';
frsv.visibility = 'hidden';
}else{
nomv.visibility = 'hidden';
}
}
function friendRequestClick() {
getStyles();
document.getElementById("notifications").style.visibility = 'visible';
if (frsv.visibility == 'hidden') {
frsv.visibility = 'visible';
dmv.visibility = 'hidden';
nomv.visibility = 'hidden';
}else{
frsv.visibility = 'hidden';
}
}
相关文章:
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- Javascript用函数return替换局部变量
- 调用函数中声明的变量
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- 每次调用函数时,都要修改Javascript中的局部变量
- 局部变量在闭包中丢失
- 是否可以在另一个变量中使用未声明的变量
- 试图将一个局部变量传递给我的ngAside控制器
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 局部变量的声明
- 多个局部变量声明与一个全局变量声明
- 为什么JavaScript在实际调用函数之前声明局部变量
- 当声明同名的局部变量时,函数变为未定义
- 声明局部变量
- 在文档内声明局部变量,或者在不同作用域的函数内声明局部变量
- 在声明范围之外使用局部变量;为什么会这样呢?
- 如何声明局部变量全局
- 在JavaScript中,当一个局部变量被提升时,它甚至在声明之前就已经在作用域中了吗
- 在JavaScript中声明或不声明局部变量