Помогите решить проблему
Вот что мне спело средство разработки в опере на мой скрипт:
Код:
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, время: 17:16. |