Background image css jquery: javascript — Setting background-image using jQuery CSS property

Использование jQuery для анимации фонового изображения

После прочтения статьи Дейва Ши о CSS-спрайтах, использующих jQuery для создания анимационных эффектов, мне захотелось поэкспериментировать, чтобы увидеть, что можно сделать, но сделать это с помощью более простой структуры HTML (нет необходимости добавлять лишние теги) и более простой код.

Изменение положения фонового изображения оказалось лучшим подходом к созданию эффекта, который мы ищем (и я не первый, кто так думает: см. примеры в конце этой статьи).

jQuery — отличная библиотека для такого типа задач, но из коробки она не может правильно анимировать положение фона из-за необходимости анимировать два значения вместо одного (жаль, что не все браузеры реализовали нестандартный фон -position-x и -y, как в Internet Explorer). Вам придется использовать плагин Background-Position, ссылка на который есть в демоверсии (исходный плагин больше недоступен на сайте jQuery). Предыдущие версии не поддерживали должным образом отрицательные или десятичные значения.

HTML

Никому не нравится добавлять дополнительный HTML, чтобы реализовать все причудливые вещи, поэтому мы рассматриваем очень простой ненумерованный список:

  

Базовый CSS

Для этого я просто сделал плавающую навигацию и установил для каждой ссылки отображаемый блок с небольшим отступом. Ничего особенного (в этом весь смысл).

 ул {
стиль списка: нет;
маржа: 0;
заполнение: 0;
} 
ли { плыть налево; ширина: 100 пикселей; маржа: 0; заполнение: 0; выравнивание текста: по центру; }
ли { дисплей:блок; отступ: 5px 10px; высота:100%; цвет:#FFF; текстовое оформление: нет; граница справа: 1px сплошная #FFF; }
ли { background:url(bg.jpg) повторить 0 0; }
li a:hover { фоновая позиция: 50px 0; }

Обратите внимание, что объявлено состояние наведения. Пользователи, которые посещают страницу без JavaScript, по крайней мере, по-прежнему смогут просматривать финальное состояние.

Я объявил фон на li a отдельно, чтобы выделить его, но исходное положение фона необходимо установить вместе с фоновым изображением, которое вы хотите использовать для эффекта.

Изображение

Вы можете применять различные типы эффектов, создавая свое изображение определенным образом.

Рис. 1: Скольжение

На Рис. 1 состояния «до» и «после» расположены слева и справа, но простой наклон может создать интересный эффект.

Рисунок 2: Исчезновение

Рисунок 2 немного сложнее. Количество видимого пространства в нормальном состоянии и состоянии наведения находится в самом верху и внизу изображения. Большой градиент в середине создает эффект постепенного появления/исчезновения при анимации с течением времени. Чем больше градиент, тем меньше будет ощущение, что он движется снизу, и больше похоже, что он на самом деле исчезает и появляется.

Простота изображения позволяет уменьшить размер файла. Для более сложных анимаций с большей глубиной цвета потребуется файл большего размера. Всегда соблюдайте баланс между эффектом и производительностью.

Посмотрите демонстрационную страницу, чтобы увидеть, как эти два эффекта (и пара других) выглядят в действии.

Сценарий

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

 $('#навигация')
.css({backgroundPosition: "0 0"})
.mouseover (функция () {
$(это).стоп().анимировать(
{backgroundPosition:"(0-250px)"},
{длительность:500})
})
.mouseout (функция () {
$(это).стоп().анимировать(
{backgroundPosition:"(0 0)"},
{длительность:500})
}) 

Элементы захвачены с помощью функции $ и заданы CSS по умолчанию. Это необходимо как для Internet Explorer, так и для Firefox 2, которые не сообщают положение фона по умолчанию. В IE вы можете обойти проблему, используя background-position-x и -y, но проще просто установить начальные значения в скрипте.

Затем элементы анимируются с помощью событий mouseover и mouseout .

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

jQuery также имеет метод hover , который можно использовать вместо раздельного использования методов mouseover и mouseout. Причина, по которой я этого не сделал, заключалась в том, что мне нравится ясность, обеспечиваемая их явным объявлением. Метод hover принимает два параметра: функцию для запуска при завершении и функцию для запуска при выходе.

Демонстрация

На демонстрационной странице я создал четыре отдельные анимации. Просто перейдите к источнику, чтобы увидеть, как все это было собрано.

Другие примеры jQuery

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

  • Создайте классную анимированную навигацию с помощью CSS и jQuery [nettuts. com]
  • CSS Sprites2 — пришло время JavaScript [alistapart.com]
  • Анимированные элементы навигации с использованием jQuery [tyssendesign.com.au]
  • Меню стиля двери гаража [css-tricks.com]

img-src — Google Такой

AlleBilderNewsVideosMapsShoppingBücher

Suchoptionen

HTML img tag — W3Schools

www.w3schools.com › tags › tag_img

Definition and Usage · src — Specifies the path to the image · alt — Specifies an alternate text for the image , если изображение по какой-то причине не может быть отображено.

Атрибут HTML img loading · Атрибут HTML img ismap · Атрибут HTML img usemap

Ähnliche Fragen

Был ли bedeutet img src?

Был ли IMG в HTML?

Warum wird mein Bild bei HTML nicht angzeigt?

Атрибут HTML img src — W3Schools

www.w3schools.com › tags › att_img_src

Обязательный атрибут src указывает URL-адрес изображения. Существует два способа указания URL-адреса в атрибуте src: 1. Абсолютный URL-адрес — ссылки на внешний …

HTML-тег img • Изображение в HTML-сайте — Mediaevent

www.mediaevent.de › html › картинка

26.01.2022 · img bettet Bilder in Webseiten ein. Zwei Attribute für img sind wichtig: src und alt. srcset listet альтернативный Bildgrößen für responsive …

: Элемент Image Embed — HTML — MDN Web Docs — Mozilla

developer.mozilla.org › … › HTML › Elements

19.01.2023 · Атрибут src является обязательным и содержит путь к изображению, которое вы хотите встроить. · Атрибут alt содержит текстовое описание изображения, …

Попробуйте · Атрибуты · Примеры · Проблемы доступности

Отсутствие тега: Должен быть начальный тег и не должен иметь закрывающий тег
Разрешенный контент: Нет; это пустой элемент
Категории контента: потоковый контент, фразовый контент, встроенный контент, ощутимый контент. Если элемент имеет атрибут, он также является …
Неявная роль ARIA: с непустым атрибутом или без атрибута: с пустым атрибутом

HTML/Elemente/img – SELFHTML-Wiki

wiki.selfhtml. org › wiki › HTML › Elemente › img

18.08.2022 · Das img-Element ermöglicht es, Bilddateien in einem Dokument einzubinden und darzustellen. Бейшпиль. Selfhtml.

Синтаксис: Начальный тег: notwendig; End-Tag: verboten

HTML/Attribute/src – SELFHTML-Wiki

wiki.selfhtml.org › wiki › Src

18.08.2022 · Das src-Attribut (engl. source für Quelle) referenziert auf die — / Медиенкель. … der wilde Hund.

HTML-Tag — W3docs

de.w3docs.com › html-lernen › html-tag-img

Das Tag используется в HTML для того, чтобы получить представление о документах. Das Bild selbst wird im Dokument nicht nicht direct platziert, der Browser lädt es aus seiner .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *