Я использую следующий код, чтобы динамически добавить строку HTML в элемент div. Я хотел бы изменить изображение каждую секунду после добавления HTML в DOM. Но мой код не работает. Где моя ошибка?Динамическое изменение фонового изображения каждую секунду
var images = ["http://pathToImg1.jpg", "http://pathToImg2.jpg"];
var result = '<div class="result">'+
'<a href="'+url+'" target="_blank" id="resultTitle" class="resultTitle">'+urlTitle+'</a>'+
'<p id="resultDescription" style="height: 15px;">'+
'<div class="resultImg" style="background-image: url('+images[0]+');"></div>'+
'<span class="resultDescription" style="margin:0px 15px 0px 0;">'+description+'</span></p>'+
'<p id="resultUrl" class="resultUrl">'+url+'</p>'+
'</div>';
$("#"+targetId).append(result);
var i = 0;
setInterval(function() {
var el = $(result).find(".resultImg");
$(el).css('background-image', 'url("' + images[i] + '")');
i = i + 1;
if (i == images.length) {
i = 0;
}
}, 1000);
вы можете добавить HTML и CSS тоже. – ab29007
вы должны обновить переменную 'i' перед установкой фона, попробуйте изменить' $ (результат) .find (". ResultImg") 'с' $ ("#" + targetId) .find (". ResultImg") ' –
Где вы определили переменные 'url',' urlTitle' и 'description', которые вы используете в своем шаблоне? –