3

我有一个 javascript 函数,它应该使可见对象隐藏和隐藏对象可见。由于我缺乏基本的 javascript 知识,所以我来这里向您寻求帮助:/ 有人可以帮我解决我的代码,以便我可以学习一点吗?

function DisplayMenu(obj) {
            if (obj.style.visibility == 'visible') {
                obj = document.getElementById(obj);
                obj.style.visibility = 'hidden';
            }
            else if (obj.style.visibility == 'hidden') {
                obj = document.getElementById(obj);
                obj.style.visibility = 'visible';
            }
        }
4

2 回答 2

7

您需要定义obj之前的内容if

function DisplayMenu(obj) {
    var obj = document.getElementById(obj);
            if (obj.style.visibility == 'visible') {
                obj.style.visibility = 'hidden';
            }
            else {
                obj.style.visibility = 'visible';
            }
        }

编辑:你可以简化它,你不需要else if只是使用else

于 2012-05-24T09:14:17.470 回答
1

甚至更短的版本检查obj_id分配前是否存在,所以在没有它的情况下obj_id不会DOM触发异常:

function DisplayMenu(obj_id) {
  var obj = document.getElementById(obj_id);
  obj && obj.style.visibility = (obj.style.visibility == 'visible') ? 'hidden' : 'visible';
}
于 2012-05-24T09:22:50.563 回答