Я пытаюсь оживить выпадающее меню из script. Для этого мне нужно оживить свойство marginTop
элемента и увеличить его от -30px
до 0px
.
Однако в IE8 анимация просто ничего не делает. Я проследил это до того, что установка marginTop
в script кажется неэффективной. В Chrome и Firefox это прекрасно работает.
Вот пример, который будет работать с Chrome/Firefox, но не IE:
Является ли это ошибкой IE, и если да, существуют ли какие-либо обходные пути для такого поведения? Спасибо!
Update:
Вот некоторые скриншоты об ошибке.
В Chrome моя скрипка выглядит так (вы можете увидеть текст "Название нового меню", так как мы изменили поле с помощью script)
В IE8/Vista это выглядит так. Я могу подтвердить в Инструментах разработчика, что topMargin
на самом деле 0px
, как ожидалось, однако элементы не были повторно нарисованы:
Другое обновление:
Эта ошибка воспроизводится (по крайней мере для меня) в IE8, запущенной в Windows 7, а также IE8, работающей на Windows 2008 Server. Он НЕ воспроизводит меня в IE7, работающем на WinXP. У меня нет машин IE9 для тестирования.
Еще одно обновление:
Я нашел одну потенциальную проблему. Если я устанавливаю p.newmenu
на position: absolute;
вместо position: relative;
, тогда он работает. Однако в моем случае я размещаю все это в всплывающем меню и нуждаюсь в этом элементе управления, чтобы вытолкнуть нижнюю часть модального диалога, поэтому абсолютно позиционирование это не вариант. Однако, возможно, это знание может помочь в поиске работоспособного решения. Пример этой работы можно найти здесь.
Вы верят в другое обновление?
На данный момент я нашел обходное решение. Если я использую top: -30px;
вместо отрицательного верхнего поля, тогда все работает. Тем не менее, top
ведет себя немного иначе, чем маржа, и делает пользовательский интерфейс не очень приятным. В частности, когда вы используете top: -30px
, тогда у вас будет 30px пробелов под вашим элементом, поскольку относительное позиционирование не влияет на другой поток страниц.
Мне бы очень хотелось разобраться, почему я не могу использовать отрицательный верхний край IE, как я могу, с другими браузерами, поэтому я все еще надеюсь, что кто-то сможет дать ответ, который предоставит все преимущества отрицательного а также работать с IE8.