jQuery.animate background-position

Как я могу анимировать свойство background-position с помощью функции анимирования jQuery без использования плагина? Я попытался переключиться обратно на 1.4.4, когда была поддержана backgroundPosition, однако, похоже, он работает только в IE, а не в FF или Chrome. Я пытался посмотреть пошаговый обратный вызов функции animate, но у меня ничего не получается.

2 ответа

Решение

У меня была такая же проблема. Плагин, связанный с Samich, является единственным способом поразить обеих птиц одним камнем (анимировать почти во всех браузерах только с помощью JQuery/Javascript).

Вот альтернатива, но в идеале для совместимости в ней используется скрипт обнаружения функций, такой как Modernizr:

Используйте JQuery.animate() и background-position-x и -y отдельно для IE (это будет работать с последней версией JQuery). Затем в браузерах, которые поддерживают переходы CSS (почти все, кроме IE), используйте.css() вместо.animate(), чтобы изменить положение фона и установить переход CSS в таблице стилей.

Вы будете покрывать большинство браузеров с вышеупомянутым, но он может быть не совместим с AS, как просто с помощью плагина. Смотрите это на работе здесь: http://jsfiddle.net/lucylou/dVpjh/

Насколько я знаю, у jQuery нет возможности анимировать фон. Но это возможно с плагинами:

http://plugins.jquery.com/project/backgroundPosition-Effect

http://www.protofunc.com/scripts/jquery/backgroundPosition/

Другие вопросы по тегам