| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > тормоза в IE при большом объёме в переменных |
| Автор: Sinneren 2.12.2010, 10:49 | ||||||||
| Имеется html файл, в котором три блока. При наведении на меню в 1 блоке, изменяется css второго блока и добавляется туда 2 меню. При наведении на меню 2 блока, добавляется содержимое 3 блока через html подстановкой текста из переменных. Весь скрипт расположен в:
Внутри описаны переменные, работаю со старой версией, макетной, поэтому извините за ненаглядность. на серваке уже переделанный шаблон и переменные заполнены увесистым текстом(600 символов в среднем).
Тут пример события при наведении на ссылку 1 блока.в нём задаю безымянную функцию, в которой подставляю данные во второй блок и инициализирую функции для 3 блока. Далее под #inform и #risunok подразумеваются DIV'ы.
А теперь описываю эти функции для 3 блока
в первом блоке 3 ссылки. во 2 от 3 - 10. и количество вложений соответственно возрастает + как я уже писал выше увесистые переменные. пробовал,конечно, делать одной функцие для 3 блока через обращение $(".second_menu a") и подстановкой в переменную ID this.attr("id"), но работать это не захотело. вообще если хоть одну функцию для 3 блока убрать, то не работает. пробывал загружать из текстового файла-та же беда, не работает. меня и этот громоздкий устраивает,но в чёртовом IE жутко тормозит. как решить проблему? |
| Автор: CruorVult 2.12.2010, 11:15 |
Подгружать блоки ajax-ом. |
| Автор: Sinneren 3.12.2010, 10:08 | ||||||||
| Да не похоже. не подгружает он их. положил содержимое переменных в файлы. поставил имена файлов как ID ссылок. Добавил событие клика и прикрутил функцию.
Сама функция, которая грузит через JQuery.load. Вернее должна.но не грузит ничего. такие сложности с циклом и записи через docement....... потому что тупо даже в сплывающем списке не выходит ни attr, ни getAttribute, поэтому в функцию не отправить this и по ней не определить id вышеописанными способами.
Добавлено через 8 минут и 17 секунд Такой метод, без JQuery:
+
Не работает тоже. |
| Автор: CruorVult 3.12.2010, 11:01 | ||||
Зачем для всех ссылок сразу грузить? Нужно только для выбраной, при наведении:
|
| Автор: Sinneren 3.12.2010, 11:37 |
| Всё равно не работает... не пойму где ошибся. Прилепляю архив со всеми кишками. Если не трудно, гляньте, пожалуйста. |
| Автор: CruorVult 3.12.2010, 11:56 |
не могу скачать, вернее могу но не файл. залейте куда-то. |
| Автор: Sinneren 3.12.2010, 12:17 | ||
http://zalil.ru/30070574 |
| Автор: CruorVult 3.12.2010, 12:41 |
| метод ahover вынисите из $(document).ready и будет счастье |
| Автор: Sinneren 3.12.2010, 15:21 | ||
Странно. но по нулям. Всё также глухо. |
| Автор: CruorVult 3.12.2010, 15:31 | ||
| какая ошибка? В опере через консоль ошибок можно посмотреть. Добавлено @ 15:33 там вы еще кавычку пропустили
|
| Автор: Sinneren 3.12.2010, 16:52 |
| про кавычку знал исправил. не понос так золотуха. оказывается работает в FF,Opera,IE. не работает в Хроме. на наличие тормозов еще тоже не проверял для JS <!--[if lt IE 7]><script type=text/javascript src=""></script> <![endif]--> такой вариант прокатит, как исключение? |
| Автор: CruorVult 3.12.2010, 20:13 |
| Sinneren, говорю, посмотрите ошибку! Опера->Инструменты->Дополнительно->Консоль ошибок. |
| Автор: Sinneren 4.12.2010, 11:41 |
| ошибки только с css и не связаны с этим блоком. в скриптах ни одной ошибки не находит. |
| Автор: CruorVult 4.12.2010, 12:37 |
| Тогда не знаю! Я только вынес ahover из $(document).ready и у меня всё заработало. Добавлено через 1 минуту и 10 секунд Может вы что-то в скрипте меняли перед этим. Попробуйте скачать то, что вылаживали и сделать то, что я сказал. |
| Автор: Sinneren 4.12.2010, 18:20 |
| именно так и сделал. у вас в хроме заработало? |
| Автор: Sinneren 6.12.2010, 11:18 |
| Вынес всё в такие функции, теперь всё работает отлично. Спасибо. |