#jquery #css #animation #internet-explorer-8 #margin
#jquery #css #Анимация #internet-explorer-8 #margin
Вопрос:
Вот код:http://jsbin.com/ehohi4/10
Нажмите на год, чтобы свернуть / развернуть раздел. Во всех современных браузерах, а также в IE6 и IE7, это работает нормально, но в IE8 попробуйте нажать на 2008 несколько раз, и иногда margin-bottom: 100px исчезает, когда раздел сворачивается, но браузер по-прежнему возвращает, что у него MARGIN-bottom 100px, как показано в сообщении отладки внизу.
Это проблема IE8, с которой нужно смириться, или это может быть проблема jQuery 1.5.2?
Редактировать: Видео с ошибкой в действии (и как я ее обходил)http://www.youtube.com/watch?v=JqqiLBrHwbo
Комментарии:
1. Никакое количество медленных нажатий не может вызвать «ошибку» у меня. Мне приходится отправлять спам в 2008/2009, и тогда это случается — иногда.
2. Я попробовал — кажется, ничего не меняется, все выглядит нормально. Я нажимал на это много-много раз..
3. Боже, как быстро ты нажимал, чувак? я чуть не сломал свою мышь, и она все еще работает..
Ответ №1:
Кажется, у меня все работает нормально. Используете ли вы IE8 или IE9 в режиме совместимости с IE8?
Попробуйте конкретно исправить ошибку margin.
$('.award_year').click(function() {
$(this).next().animate({
opacity: 'toggle',
height: 'toggle',
marginBottom: 100
}, 400);
});
Комментарии:
1. Спасибо за ваш ответ, я использую IE8 в Windows XP для тестирования. Нижнее поле в 100 пикселей предназначено для <div class=»award»>.
Ответ №2:
Я тестировал это с различными старыми версиями jQuery, и та же проблема все еще существует, я думаю, что это проблема рендеринга IE8. Тьфу, IE8 — это новый IE6… В итоге было удалено нижнее поле для этого div и добавлено вместо него div размером 100 пикселей, специально для IE8.