如何在javascript中向已更改的背景图像添加属性?

如何在javascript中向已更改的背景图像添加属性?,javascript,html,Javascript,Html,我正在申请。应用程序的一个特性是自定义背景设置器。我有一个脚本,它通过函数的URL设置背景。所有的功能都很完美。但问题是,我想添加背景图像属性背景大小和背景重复,这样任何大小都可以工作并有意义 这是到目前为止我工作的代码 <a href="#" onclick="funcBgImage()"> <img src="example.com/example-image-url.png" height=50, width=50></img> </a&g

我正在申请。应用程序的一个特性是自定义背景设置器。我有一个脚本,它通过函数的URL设置背景。所有的功能都很完美。但问题是,我想添加背景图像属性
背景大小
背景重复
,这样任何大小都可以工作并有意义

这是到目前为止我工作的代码

<a href="#" onclick="funcBgImage()">
    <img src="example.com/example-image-url.png" height=50, width=50></img>
</a>

<script>
function funcBgImage() {
    var imageurl = prompt("Enter Image URL","");
    if (imageurl != null) { 
        document.body.style.background = "url('" + imageurl + "')"
    }
}
</script>

函数funcBgImage(){
var imageurl=prompt(“输入图像URL”,”);
如果(imageurl!=null){
document.body.style.background=“url(“+imageurl+”)”
}
}
我试着只添加
;背景重复:无重复;背景尺寸:封面
“url(“+imageurl+”)
之后,但现在它不会设置任何背景


我希望它能工作,但它不能。有人能解释为什么,以及如何正确地这样做吗?

这似乎是可行的,用户每隔5秒会提示更新
背景图像

功能设置背景(){
让val=prompt(“请插入一个正整数:”);
而(isNaN(parseInt(val))和&parseInt(val)>-1和&parseInt(val)<1000){
val=提示(“请插入一个正整数:”);
}
document.body.style.backgroundImage=`url(“https://picsum.photos/id/${val}/128“`;
}
挫折();
设置间隔(()=>{
挫折();
},5000);
正文{
背景尺寸:封面;
}

这似乎起到了作用,
背景图像
每5秒更新一次,用户会给出提示

功能设置背景(){
让val=prompt(“请插入一个正整数:”);
而(isNaN(parseInt(val))和&parseInt(val)>-1和&parseInt(val)<1000){
val=提示(“请插入一个正整数:”);
}
document.body.style.backgroundImage=`url(“https://picsum.photos/id/${val}/128“`;
}
挫折();
设置间隔(()=>{
挫折();
},5000);
正文{
背景尺寸:封面;
}

仅定义样式实体的行:

这是url测试:将其粘贴在字段中

函数funcBgImage(){
var imageurl=prompt(“输入图像URL”,”);
如果(imageurl!=null){
document.body.style=“背景图像:url(“+imageurl+”);背景重复:不重复;背景大小:封面;”
}
}

仅定义样式的行:

这是url测试:将其粘贴在字段中

函数funcBgImage(){
var imageurl=prompt(“输入图像URL”,”);
如果(imageurl!=null){
document.body.style=“背景图像:url(“+imageurl+”);背景重复:不重复;背景大小:封面;”
}
}

两行交替:

var imageurl = prompt("Enter Image URL", "");
if (imageurl != null) {
    document.body.style.background = "url('" + imageurl + "') no-repeat"; // no-repeat here.
    document.body.style.backgroundSize = "cover"; // cover in a separate line.
}
可能存在浏览器问题,不确定。我在两行中使用了FF.

替换:

var imageurl = prompt("Enter Image URL", "");
if (imageurl != null) {
    document.body.style.background = "url('" + imageurl + "') no-repeat"; // no-repeat here.
    document.body.style.backgroundSize = "cover"; // cover in a separate line.
}

可能存在浏览器问题,不确定。我使用了FF。

为每个样式使用新行-
document.body.style.x=y;
。或者,在设置新图像后,首先选择图像,然后对其应用样式。别忘了url语句末尾的分号。我想,您不必选择图像,继续使用
body
.Edit:我刚刚尝试了提示,但它不起作用。Sry,请检查。为每个样式使用新行-
document.body.style.x=y;
。或者,在设置新图像后,首先选择图像,然后对其应用样式。不要忘记url语句末尾的分号。我想,您不必选择图像,继续ue使用
body
。编辑:我只是尝试了一下提示,但它不起作用。Sry,请检查。好的,谢谢。你有任何关于为什么我所做的不起作用的信息吗?我不想在不同的场景中重复这个错误。我想这是浏览器支持,只支持
背景大小
。好的,谢谢。你有什么建议吗我不想在另一个场景中重复这个错误。我认为这是对浏览器的支持,只支持背景大小。