Помогите решить проблему
Вот что мне спело средство разработки в опере на мой скрипт:
Код:
ecmascript timer_mod=100; function hL(level) { var al=document.getElementById(level).style.visibility; if (al=='visible') { document.getElementById(level).style.visibility = 'hidden'; } } // тут я запускаю код чтобы он закрыл все отрытые элементы //кстати тоже не знаю как как сделать, чобы код выполнялся не до i<20 , а пока не закончатся cm_lev2_+'i' for (i=1;i<20;i++) { setTimeout('hL("cm_lev2_'+i+'")', timer_mod); } При всем при этом скрипт работает нормально, просто понадобилось валидность привести в порядок. Я предполагаю, что он матерится на несуществующий объект c "ID такимто" но понятия не имею как запретить дальнейшее выполнения скрипта если "id такойто" не существует. В пхп это например делается функцией isset(), но здесь как это сделать я не знаю, причем если "document.getElementById(level)" загонять в переменную, то он начинает выдавать такую же ошибку еще на моменте присвоения. |
document.getElementById(level).style.visibility элемента не нашло, вот и ругаеццо. var al=document.getElementById(level); if (!al) return null; if (al.style.visibility=='visible'){al.style.visibility = 'hidden'} |
Цитата:
function hL(level) { var el = document.getElementById(level); if (el && el.style.visibility == 'visible') el.style.visibility = 'hidden'; } |
Блин, как все просто оказывается!
При много благодарен, все работает! |
Часовой пояс GMT +3, время: 08:02. |