2015-03-05 3 views
3

Я пытаюсь включить резерв JavaScript для Microsoft Internet Explorer 8 для анимации на основе CSS3 с использованием Velocity.js и Modernizr. Это сайт, над которым я работаю (это пример использования совместимости кроссбраузеров).Velocity.js не работает в IE8

http://bit.ly/1G03UMo

Это, как я сделал это.

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
<script type="text/javascript" src="js/modernizr.custom.js"></script> 
<script type="text/javascript"> 
    Modernizr.load([{ 
     test: Modernizr.csstransforms && Modernizr.csstransforms3d && Modernizr.cssanimations, 
     nope: ['http://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.min.js', 'js/animatie.js'] 
    }]); 
</script> 

Тесты Modernizr (csstransforms, csstransforms3d и cssanimations) возвращают логический ответ - 'нет-ххх' в IE. В этом случае файлы, упомянутые в массиве nope, загружаются.

Содержимое файла animatie.js выглядит следующим образом.

$(document).ready(function(){ 
    $('div#tandwiel').velocity({ 
     rotateZ: '360deg' 
    }, 
    { 
     duration: 10000, 
     easing: 'linear', 
     loop: true 
    }); 
}); 

Я уверен, что код jQuery прав, поскольку вывод на консоль дает предсказуемые результаты. Я также уверен, что Velocity.js загружен, так как анимация скучного свойства, такого как непрозрачность, действительно работает в каждом браузере.

В документации Velocity.js я обнаружил, что на самом деле не требуется jQuery для выполнения своей магии, но она должна быть включена для работы в IE8.

Вещи, которые я изгоняю.

  • Это вряд ли может быть синтаксической ошибкой. Проверено трижды.
  • Это не имеет никакого отношения к заказу на поставку. jQuery, кажется, загружается при загрузке файла animatie.js. Библиотека yepnope также награждает орденом упомянутых файлов.
  • Это не может быть Velocity.js, так как автор намного умнее, чем я, и не так много жалоб, что он не работает в IE8.

(Я знаю, прядильное устройство не собирается создавать или нарушать работу пользователя, но я хотел бы знать, что здесь происходит).

Любая помощь очень ценится.

ответ

1

SCRIPT5022: Скорость: IE8 и ниже требуют, чтобы jQuery загружался до Velocity. Файл: velocity.min.js, Line: 3, колонка: 9801

Это показано в консоли ie8 при открытии ссылки в этом вопросе.
Вы пытались загрузить jquery через modernizr?

Modernizr.load([{ 
     test: Modernizr.csstransforms && Modernizr.csstransforms3d && Modernizr.cssanimations, 
     nope: ['http://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.2/velocity.min.js', 'js/animatie.js'], 
     both: ['http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js'] 
    }]); 
Смежные вопросы