Хак jQuery.animate для Internet Explorer 9 и ниже

Рейтинг: 0Ответов: 2Опубликовано: 27.09.2014

Есть такой код. http://jsfiddle.net/gy69x0mq/2/
Во всех новых браузерах, в том числе и в IE, выполняется нормально. Запустил с этим скриптом в 9-й версии IE - не корректно. Кто знает, может, это можно как-то победить?

Потестировал в 10 IE. Попробовал разные режимы совместимости - работает. Но вот когда ставлю "режим документов: стандартный IE9", перестаёт работать... Не подскажите, что это и куда копать?

Покопался ещё повнимательней. Походу, проблема в css, вот в этой строчке:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000',GradientType=1 ); /* IE6-9 */

Что тут написано и почему не работает, не представляю просто, если у кого есть мысли, подскажите, пожалуйста, потому что, как я думаю, здесь есть ошибка, и поэтому некорректно работает.

Ответы

▲ 0Принят

Написано свойство, которое используется только в MSIE. Остальные браузеры этой строчки не понимают. Подробно описан тут http://htmlbook.ru/css/filter/gradient Обрати внимание на комментарии. Для IE9+ используй -ms-linear-gradient.

▲ 0

Судя по всему, вы пытаетесь сделать сложный градиент, где одинаковые начальный и конечный цвета. В IE старых версий такие градиенты не поддерживаются, и написанная строка css говорит о том, что у вас выводится монотонный цвет.

По поводу вашей проблемы в IE9: попробуйте сделать градиент на этом сайте c нажатым чекбоксом IE9 Support: http://www.colorzilla.com/gradient-editor/

Или отключить фильтр для IE9, как советуют там.