Ошибка при работе скрипта в ИЕ6, ИЕ7
Имеется меню, при клике на опции которого выпадает ещё одно меню вниз, при клике на любую другую опцию при любом активном выпавшим меню, последнее уползает откуда пришло, новое выпадает и вот тут выскакивает ошибка в ИЕ6 ИЕ7, хотя работает всё правильно.
Вот функция в котрой выскакивает ошибка function ddSlide(id,dir) { var cont = document.getElementById(id); var currheight = cont.offsetHeight; var dist; if(dir == 1) { dist = (Math.round((cont.maxh - currheight) / DDSPEED)); } else { dist = (Math.round(currheight / DDSPEED)); } if(dist <= 1) {dist = 1;} //вот на следующей строке выдайот ошибку, типо invalid arguement, char 1 cont.style.height= currheight + (dist * dir) + 'px'; cont.style.opacity = currheight / сont.maxh; cont.style.filter = 'alpha(opacity=' + (currheight * 100 / cont.maxh) + ')'; if((currheight < 2 && dir != 1) || (currheight > (cont.maxh - 2) && dir == 1)) { clearInterval(cont.timer); } } вот функция заползания подменю function ddCollapse(id) { var cont = document.getElementById(id); cont.timer = setInterval("ddSlide('" + id + "', -1)", DDTIMER); } вот главная функция которая рулит педалит: function ddMenu(id,dir) { var head = document.getElementById(id + '-ddheader'); var cont = document.getElementById(id + '-ddcontent'); clearInterval(cont.timer); if(bool == true) { clearTimeout(head.timer); if(cont.maxh && cont.maxh <= cont.offsetHeight) { return; } else if(!cont.maxh) { cont.style.display = 'block'; cont.style.height = 'auto'; cont.maxh = cont.offsetHeight; cont.style.height = '0px'; } bool = false; head.style.background = '#f2f2f2'; cont.timer = setInterval("ddSlide('" + id + "-ddcontent', 1)", DDTIMER); x = id; } else { head = document.getElementById(x + '-ddheader'); head.timer = setTimeout('ddCollapse(\'' + x + '-ddcontent\')', 0); head.style.background = 'none'; bool=true; } if (x!=id) { head = document.getElementById(id + '-ddheader'); cont = document.getElementById(id + '-ddcontent'); clearTimeout(head.timer); if(cont.maxh && cont.maxh <= cont.offsetHeight) { return; } else if(!cont.maxh) { cont.style.display = 'block'; cont.style.height = 'auto'; cont.maxh = cont.offsetHeight; cont.style.height = '0px'; } bool = false; head.style.background = '#f2f2f2'; cont.timer = setInterval("ddSlide('" + id + "-ddcontent', 1)", DDTIMER); x = id;}} X, bool, DDTIMER, DDSPEED - глобальные переменные. Всем спс за внимание, если кто сможет помочь - буду оч благодарен. |
Часовой пояс GMT +3, время: 12:40. |