Javascript 如何在document.getElementById().style中使用JS变量?
我希望这样,当我重新加载页面时,背景会被随机选择Javascript 如何在document.getElementById().style中使用JS变量?,javascript,css,Javascript,Css,我希望这样,当我重新加载页面时,背景会被随机选择 function switchBG(urlThing) { document.getElementById("bg-img").style.display="block"; document.getElementById("bg-img").style.backgroundImage="url(urlThing)"; } var n = Math.floor((Math.random() * 2)
function switchBG(urlThing) {
document.getElementById("bg-img").style.display="block";
document.getElementById("bg-img").style.backgroundImage="url(urlThing)";
}
var n = Math.floor((Math.random() * 2) + 1);
if (n == 1) {
switchBG('back1.jpg');
}
else if (n == 2) {
switchBG('back2.jpg')
}
我试过了,但什么也没发生
编辑:这是div。它是标签下的第一件事
<div id="bg-img"></div>
您需要像这样连接变量:
document.getElementById("bg-img").style.backgroundImage="url(" + urlThing + ")";
我假设bg img是
标记。
这就是你能做到的
您需要将
urlThing
变量与backgroundImage
样式文本连接起来。实际上,你只是把它作为一个文本字符串,这是行不通的。@CertainPerformance mens这样说:“url(“+urlThing+”)
bg img是可以的,那么对于div,你可以使用document.getElementById(“bg img”).style.backgroundImage=“url(+urlThing+”)代码>如果图像已加载,也可按f12并签入样式。如果是这样的话,那么您需要向该div添加css以显示图像,请尝试div{width:400px;height:400px;border:1px solid black;}
,但如何使div填充正文?尝试更改css,我提供css只是为了使img可见。如果您希望该div填充正文,请尝试#bg img{width:100vw;height:100vh;}
这似乎不起作用。您还需要选择宽度和高度。否则div为空。
function switchBG(urlThing) {
document.getElementById("bg-img").style.display="block";
var loc = window.location.pathname;
var dir = loc.substring(0, loc.lastIndexOf('/'));
document.getElementById("bg-img").src=dir + urlThing;
}