2012-05-24 2 views
2

У меня есть функция 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'; 
      } 
     } 
+0

есть что-то не так, если что-то еще, я думаю:/ –

ответ

5

Вы должны определить, что obj находится перед if:

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

EDIT: Вы могли бы упростить ее, вам не нужен else if просто использовать else

+0

благодарю вас за помощь. –

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

Благодарю вас за помощь. –

Смежные вопросы