Можно ли изменить фон css с помощью jQuery addClass
? Я использую следующий код, но он просто остается на исходном фоновом изображении.Изменить фоновое изображение с помощью jQuery addClass
HTML
<div id="background">
</div>
JQuery
$(document).ready(function() {
for (var x = 10; x > 0; x--) {
$"#background").addClass(background2).delay(2000);
$("#background").removeClass("background2");
$("#background").addClass("background3").delay(2000);
$("#background").removeClass("background3").delay(2000);
};
});;
CSS
#background {
width: 100%;
height: 100%;
font-size: 1.5em;
background-image: url(backgroundimage1.JPG);
background-position: left;
background-size: cover;
background-repeat: no-repeat;
background-attachment: scroll;
}
.background1 {
background-image: url(backgroundimage1.JPG);
}
.background2 {
background-image: url(backgroundimage2.JPG);
}
.background3 {
background-image: url(backgroundimage3.JPG);
}
Поскольку вы удаляете класс сразу после его добавления, вы не увидите эффект; браузер не перерисовывает экран до тех пор, пока в этом случае не будет абсолютно необходимо. Вероятно, вам следует исследовать 'setInterval()' или 'setTimeout()', если вы хотите циклически перебирать фоны с течением времени. – Pointy
^, и 'delay()' ничего не делает при смене классов, это предназначено для анимаций – adeneo