javascript - 使用 Javascript 和 Jquery 更改样式表中的背景图像

标签 javascript jquery

我想创建一个 javascript + jquery 函数来更改我的 css 文件中的背景图像。

如果我尝试更改 background-color 的值,它可以工作,但不能使用 background-image

function randomWallpaper()
{
     var wallpapersList = ["1.jpg","9.jpg","3.jpg", "82.jpg"];
     var newWallpaper = Math.floor(Math.random()*5)+0;
     console.log(newWallpaper); //outputs the index
     changeBackground(wallpapersList, newWallpaper);
 }

function changeBackground(wallpapersList, newWallpaper) 
{
     $("body").css("background-image", wallpapersList[newWallpaper]);
}

setInterval(function()
{
     randomWallpaper();
},2500)

CSS

body 
{
    background-image: url('41.jpeg');
}

有人可以帮我理解我错在哪里以及为什么这段代码不起作用吗? 我正在努力学习js

最佳答案

您还需要输入url()

$("body").css("background-image", "url(" + wallpapersList[newWallpaper] + ")" )

(或使用 ES6 字符串插值语法:)

$("body").css("background-image", `url( ${wallpapersList[newWallpaper]} )` )

关于javascript - 使用 Javascript 和 Jquery 更改样式表中的背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48829374/

相关文章:

jquery - 想要将点击转换为悬停 jquery 自动完成

javascript - 重复 jQuery Ajax 成功函数

javascript - css 按钮悬停效果不起作用

javascript - window.location 调用太频繁?

javascript - 如何在 JavaScript/jQuery 中弹出模式并运行复选框检查?

javascript - jQuery 可拖动 div 只有一次

jquery - Bootstrap 只滚动一个 div 并将其他内容放在顶部

javascript - 有没有办法检查气泡是否触发了点击?

javascript - 如果使用 Passport js 用户登录/身份验证失败,Jquery 警告框

javascript - 在任何 Controller 中存储来自 angular.run 的数据