Вернуться   Дизайнерский форум » ДИЗАЙН И ГРАФИКА » Библиотека

О проблемах и решениях

Обсуждение темы О проблемах и решениях в разделе Библиотека, часть категории ДИЗАЙН И ГРАФИКА; Столкнулся на днях (вчера на самом деле) с проблеммкой, интересной, зараза оказалась. Смысл проблеммы в следующем: Делал универсальную popup менюшку на jQuery (так, ...


Закрытая тема
 
Опции темы
Старый 23.06.2008, 11:19   #1
Столкнулся на днях (вчера на самом деле) с проблеммкой, интересной, зараза оказалась.

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

Но суть проблеммы не в том, а в анимации, а точнее даже в opacity.

Сама менюшка сделанна списком ul->li>-ul>li...
Появление менюшки анимированное.
Первый уровень появляется как надо, трабблов нет.
А вот второй. второй вообще отказывался появляться в IE как в 6 так и в 7.
В Opera, FF всё нормально, даже отлично, хоть 10 подуровень - всё работает как часы, со всеми заложенными прибамбасами, а в IE только первый уровень - и всё.

Довольно долго искал проблемму. ничего не помогало. И самое главное, что на debuger-е видно, что всё отрабатывает как надо, но нет - не появляется и баста...
Через несколько часов мучения выяснилось, что проблемма в opacity, а точнее в фильтре получпрозрачности IE.
Ситуация такая. Если есть
ul: filter:alpha(opacity=100),
то вложенные в него ul-ы НЕ ОТОБРАЖАЮТСЯ ВОВСЕ!
решение оказалось простым, после прогона анимации, устанавливаем
Код:
menu.animate({opacity: 1}, 'fast', function() { this.style.filter = ''; });
и всё работает, но если фильтр не снять, то IE не пашет...

Может у кого есть комментарии к вопросу о?

Добавлено через 8 минут

Кстати, filters в IE, это штука не только полезная, но и вредная...
Был случай, при вёрстке допустил явную ошибку
Код:
body
{
    padding:20px 0px 0px 0px;
    height:100%
}
для IE - это баг, так как высота страницы оказывается больше 100%...
Ну так вот, в IE7 просто появляется скорлл, ну и всё, а вот в IE6 очень интересное поведени получается при изменении opacity...

При любом изменении полупрозрачности любого объекта в html документе, высота документа увеличивается на 20px

Так что анимация появления/исчезания элементов приводит к дичайшему "удлинению" документа. Аж смешно...

Последний раз редактировалось Асмодиан; 23.06.2008 в 11:19.. Причина: Добавлено сообщение
 
Старый 23.06.2008, 11:19
Ссылки
Старый 27.06.2008, 16:46   #2
Я как-то эксперементировал с opacity в итоге ie6 завис, причем наблюдая за процессом я заметил что каждые секунд 5 он прибавлял в весе метра на 2. Когда мои жалкие 128 мб кончились а обратиться к кешу на диске он видимо не смог, и комп наглухо повис. А после перезагрузки выдал надпись что windows восстановлена после серьезной ошибки. Уж не помню что я там натварил, но после этого я перестал проводить опыты с ie И кстати почему-то опера более устойчива ко всяким непонятностям в скрипте
 
Старый 27.06.2008, 16:46
Закрытая тема





Текущее время: 05:47. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум