Javascript. Как поменять background-image?
Всем привет! Хочу на чистом js поменять background у блока. Есть такой код:
.block < background-image: url(img/img1.jpg); >var btn = document.getElementById('btn'); btn.addEventListener('click', function()); var block = document.getElementById('block'); function changeBgImg() < block.style.backgroundImage = 'img/img2.jpg' >
Но почему-то такой код не работает, background не меняется. Подскажите, в чем может быть проблема?
Смена background-image через jQuery CSS: решение проблемы
Чтобы немедленно установить фоновое изображение при использовании jQuery, примените следующий код:
Скопировать код
$('#element').css('background-image', 'url("image.jpg")');
Примечание: Обратите внимание, что элемент с идентификатором #element должен существовать в вашем HTML, а указанный путь к изображению должен быть точный.
Выбор корректного пути к изображению
Существуют два способа указания URL для backgroundImage :
Скопировать код
- Абсолютные URL: они начинаются с `http://` или `https://`. - Относительные URL: адрес, указанный относительно положения текущего файла.
Разберем абсолютные URL подробнее:
Скопировать код
$('#element').css('background-image', 'url("https://example.com/image.jpg")'); // Здесь изображение загружается прямо из интернета – весьма практично, не правда ли?
Теперь посмотрим на относительные URL:
Скопировать код
$('#element').css('background-image', 'url("../images/image.jpg")'); // В этом случае изображение загрузится прямо с вашего диска. Интернет, подожди своей очереди.
Совет от профессионала: Всегда проверяйте URL-ы изображений на корректность. Ошибки 404 не приносят радости.
Рабочий стиль с CSS классами
Используйте предварительно определенные CSS классы для обеспечения структурированности вашего кода:
Скопировать код
.bg-image < background-image: url("image.jpg"); /* Теперь каждый элемент может получить этот стильный 'образ'! */ >
Для добавления и удаления стилей в jQuery используйте методы .addClass() и .removeClass() :
Скопировать код
$('#element').addClass('bg-image'); // Применяем стиль $('#element').removeClass('bg-image'); // Отключаем стиль // Теперь вы можете менять стиль быстрее, чем повар переворачивает блин!
Использование отдельных файлов стилей упрощает их поддержку и позволяет быстро вносить изменения.
Безопасная игра: обрабатываем ошибки и предусматриваем совместимость
Если изображение не отображается, целесообразно выполнить следующие действия:
- Проверить URL изображения на наличие синтаксических ошибок.
- Исключить возможные конфликты с другим CSS и JavaScript кодом.
- Убедиться в доступности URL и отсутствии в нем лишних знаков или пробелов.
- Подтвердить кросс-браузерную совместимость — разные браузеры могут работать по-разному.
Для более широкого контроля над фоном рассмотрите использование дополнительных CSS-свойств, таких как background-repeat или background-position .
Визуализация
Установку background-image в jQuery можно представить как выбор образа для веб-страницы:
До: ️ (Простой экран, ожидающий свое украшение)
Применение CSS через jQuery выглядит так:
изменить background-image из javascript

Переменная в background-image
Здравствуйте! Начал изучать JS, понадобилось выполнить такую штуку(вкратце): <script.
Смещение background-image (сделать плавающим)
Задумал через таймер сделать плавающий background-image с использованием JavaScript. Видел скрипт.
Смена фона CSS background-image
Как в CSS поставить смену картинки фона из папки images с картинками image1.jpg-image5.jpg ? Не.

Размеры background через javascript
Добрый день! Ребята, как получить размеры картинки, подключаемой через css? <div >
![]()
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794

Сообщение было отмечено slipp1 как решение
Решение
slipp1, слеши не обратные, а прямые должны быть — раз.
Если в строках таки понядобятся именно обратные слеши — удваиваем их. Это два.
Курсы javascript
Спасибо! Работает!
И еще вопрос: сделать срабатывание только на удалении мыши с объекта.
В справке: hover( over, out ). Over. Функция, запускающаяся, когда курсор мыши проходит над соответствующим элементом. А как опять же пользоваться?
$("#round2").hover(function(over) < $(this).css('backgroundImage', 'url(/themes/garland/images/round1.gif)'); >, function() <>);
не дает результата.
т.е. нужна элементарная смена картинки при наведении и возврат в нач.положении при уведении курсора
07.12.2009, 22:02
Регистрация: 16.11.2009
Сообщений: 1,322
Так это, второй параметр у метода hover, а не у функции, которая первый параметр.
Наведите на этот див
Кстати, а Вы уверены, что в Вашем случае нельзя обойтись голым CSS?
Как писал в своем блоге кто-то из разработчиков Оперы,