IE и работа Javascript

интернет программирование JavaScript IE

Хай! ай нид хелп! =)
написал не сложный скрипт меню в виде дерева. везде работает как надо, а вот IE9 выкаблучивается.

Смысл: при раскрытии дерева(как в проводнике плюсиком рядом с папкой) естественно меню увеличивается в размерах. скрипт обрабатывает изменение divника меню и подгоняет высоту фонового divника на котором расположено меню, чтобы текст меню не выезжал за пределы. плюс если высота контента меньше чем высота менюшки, то она подгоняется тоже.

Проблема: в IE9, скорее всего и в других IE тоже, не проверял, при загрузке страницы этот скриптик не работает. меню увеличивается, в фоновые DIVники не изменяются. НО!!! при включении штатной среды разработки все волшебным образом начинает работать как надо вплоть до перезапуска браузера.

Вопрос: если IE всё же нормально обрабатывать скрипт может, как его заставить его обрабатывать нормально сразу, без включения штатной среды разработки?

Примечание:
Козьма Противный, возможно и поможет. я использовал jQuery для написания древовидного меню. но в самом JQuery я не разбираюсь. могу там подправить под себя скрипт, но не более того, сам писать скрипты не умею. или Вы имеете в виду что JQuery может помочь сделать так чтобы IE выполнял мой скрипт сразу?

Примечание:
переписал под JQuery так как смог:
<script type="text/javascript" language="javascript">
$(window).load(
function(){
var right = document.getElementById("right_2");
var right3 = document.getElementById("right_3");
var left = document.getElementById("left_one");
var menu = document.getElementById("xmlMenuTree");
var a = 0;
var right3_h = right3.offsetHeight;
$("#right_2").css({minHeight: right3.clientHeight + 15 + "px"});
$("#left_one").css({minHeight: right3.clientHeight + 15 + "px"});
$(this).everyTime(500, function f()
{
if (a - menu.offsetHeight != 0)
{
if (left.offsetHeight != menu.offsetHeight + 8)
{
$("#left_one").css({height:menu.offsetHeight + 8 + "px"});
console.log(" 1 ");
a = menu.offsetHeight;
}
if (right.offsetHeight != left.offsetHeight)
{
$("#right_2").css({height:left.offsetHeight - 4 + "px"});
console.log(" 2 ");
a = menu.offsetHeight;
}
}
});
});
</script>
Но все равно та же проблема.
Ответы:
Может JQuery поможет?
1. используйте $(document).ready()
2. console.log в IE отсуствует когда отключена среда разработки
3. Есть еще кучу минусов даного скрипта))) Учитесь
если под отладкой скрипт работает, значит, проблема в таймингах. или что-то связанное с недозагрузкой ресурса, или в коде скрипта есть анимации, которые отрабатывают не так, как тебе хочется, а так, как написано.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.