使可见对象隐藏,隐藏对象可见

时间:2012-05-24 09:10:32

标签: javascript

我有一个javascript函数,可以使隐藏的可见对象和隐藏的对象可见。由于我缺乏基本的javascript knowlegde,我来到这里向你求助:/有人可以帮助我解决我的代码,以便我可以学到一点吗?

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';
            }
        }

2 个答案:

答案 0 :(得分:6)

您需要在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

答案 1 :(得分: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';
}