javascript - 使用 JS 和 JQuery 制作幻灯片延迟图像循环
问题描述
我正在尝试使用 JS 和 JQuery 创建小幻灯片。下面的代码可以工作(有点),但在显示下一张图片之前不会延迟;立即显示。在显示下一张图片之前,我试图让它延迟 5 秒。我有点新手,如果代码有问题,我深表歉意。
*网址已更改,使其更具可读性。
感谢您的帮助!
var backgroundImg = ["https://x1.jpg", "https://x2.jpg"];
var backgroundImgLength = backgroundImg.length;
var z = 0;
do {
slideShow(backgroundImg[z]);
z++;
}
while (z < backgroundImgLength);
function slideShow(url) {
setTimeout(function() {
$('.header-section').css('background-image', 'url(' + url + ')');
}, 5000);
}
解决方案
我会尝试以这种方式使用它:
const backgroundImg = [
"https://picsum.photos/id/237/200/300",
"https://picsum.photos/id/239/200/300"
];
const backgroundImgLength = backgroundImg.length;
let backgroundImgIndex = 0;
let backgroundImgUrl = backgroundImg[backgroundImgIndex];
const changeImage = function() {
$('.header-section').css('background-image', 'url(' + backgroundImgUrl + ')');
}
const getNextImgIndex = function() {
return (backgroundImgIndex + 1 < backgroundImgLength) ? backgroundImgIndex + 1 : 0;
}
// setInterval allows us to run a function repeatedly,
// starting after the interval of time,
// then repeating continuously at that interval.
const timerId = setInterval(function() {
backgroundImgIndex = getNextImgIndex();
backgroundImgUrl = backgroundImg[backgroundImgIndex];
changeImage();
}, 5000);
changeImage();
推荐阅读
- ruby-on-rails - 配置在 Shrine gem 上生成文件 ID 属性的方式
- python - heroku 中的 Django Redis 连接错误:写入套接字时出现错误 110。连接超时
- acumos - acumos平台的一些问题
- r - 重复功能不会在 R 中停止
- regex - 纯正则表达式解决方案,用于在文本的某个部分之后删除整个文本(在 plist 文件中)
- c# - 包装在 WPF 中的 Chromium - 查找元素并调用操作
- java - 标记的黄瓜场景运行
- reactjs - 从节流函数内部调用类方法时节流不起作用
- arm - 汇编 stm r12,{r1,r4,r7} 指令触发的 ARM Cortex R5 异常
- ajax - 在 azure web 应用程序中使用 axios post/get 进行全日历时出现内部服务器错误 500