简体   繁体   English

平滑背景图像变化 javascript

[英]Smooth background image change javascript

var div = document.querySelector('.content');
var arr = ["pic1_LR.jpg", "pic2_LR.jpg", "pic3_LR.jpg"];

var index = 0;
var iterations = 0;

var updateImage = function () {
if (index >= arr.length) {
index = 0;
iterations++;
}
div.style.backgroundImage = 'url(' + arr[index] + ')';
index++;
}

var interval = setInterval(updateImage, 2000);

Right now it just instantly changes.现在它只是立即改变。 I want it so that it changes smoothly.我想要它,以便它顺利地改变。

You can use the transition CSS property.您可以使用transition CSS 属性。

.content {
  transition: background-image 500ms;
}

 var div = document.querySelector('.content'); var arr = ["https://images.unsplash.com/photo-1513151233558-d860c5398176?ixid=MXwxMjA3fDB8MHxzZWFyY2h8MXx8ZnVuJTIwYmFja2dyb3VuZHxlbnwwfHwwfA%3D%3D&ixlib=rb-1.2.1&w=1000&q=80", "https://images.unsplash.com/photo-1579546929662-711aa81148cf?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxleHBsb3JlLWZlZWR8MXx8fGVufDB8fHw%3D&w=1000&q=80", "https://media.istockphoto.com/photos/watercolor-textured-background-picture-id887755698?k=6&m=887755698&s=612x612&w=0&h=_yEUF8gLpWjZv5IgwuWkecNVt4X4P7vpuFBKCWIuR44="]; var index = 0; var iterations = 0; var updateImage = function () { if (index >= arr.length) { index = 0; iterations++; } div.style.backgroundImage = 'url(' + arr[index] + ')'; index++; } var interval = setInterval(updateImage, 2000);
 .content { width: 100px; height: 100px; transition: background-image 500ms; background-size: cover; }
 <div class="content"> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM