Как я могу изменить фоновое изображение CSS с помощью JQuery? - PullRequest
0 голосов
/ 10 января 2012
$(document).ready(function() {
    $('#picture').css('height', '666px');
    $('#picture').click(function () {
        $(this).css('background-image', "url('../images/picture_2.jpg')");
    });
});

в вышеприведенном коде height успешно изменено на 666px, но фоновое изображение не изменяется вообще (остается исходным).

Когда я изменяю background-image на«none» вместо «url ('../ images / picture_2.jpg')", хотя фоновое изображение исчезает.

Что я делаю не так?

Ответы [ 4 ]

5 голосов
/ 10 января 2012

Я предполагаю, что введенный вами URL неверен. URL должен быть относительно страницы , на которой вы находитесь . Могу поспорить, что ваш URL относится к вашей таблице стилей CSS. В общем, просто используйте абсолютные пути при выполнении этого в JS.

Вам также не нужны одинарные кавычки, окружающие путь.

2 голосов
/ 10 января 2012

Код, который вы предоставили, должен работать нормально.Я думаю, что местоположение изображения, которое вы упомянули ../images/picture_2.jpg, неверно.Проверьте, видите ли вы изображение из этого места в firebug.

Я попробовал тот же код, и он работал нормально для меня. ДЕМО здесь

1 голос
/ 10 января 2012

Исправьте путь к изображению.

Путь к изображению будет рассчитываться из корня сайта, а не из CSS.

Просто чтобы уточнить:

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

0 голосов
/ 10 января 2012

Вот демо , которое работает для меня.

Чем это отличается от того, что вы пробовали?

...