javascript - 如何将背景图像放在 setAttribute 方法上?
问题描述
我正在制作一个简单的程序,可以均匀地切割圆圈。 在此处输入图像描述
我想用'setAttribute'方法把它放在图像上。但是,它不像我想的那样工作。
这是我的代码。
<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{margin:0; padding:0;}
</style>
<script>
function elt(name, attributes){
var node = document.createElement(name);
if( attributes ){
for(var attr in attributes){
if(attributes.hasOwnProperty(attr)){
node.setAttribute(attr,attributes[attr]);
}
}
}
for(var i=2; i<arguments.length; i++){
var child = arguments[i];
if( typeof child == "string" ){
child = document.createTextNode(child);
}
node.appendChild(child);
}
return node;
}
window.onload=()=>{
const IMG_W_COUNT = 50;
const IMG_H_COUNT = 33;
const IMG_SUM = 1650;
for(var i=1,j=0;i<=IMG_SUM;i++,j+=18){
var ImageSaver = elt("div",{
class:"menu item"+i,
width:18+"px",
height:18+"px",
background:"url('paint.jpg')",
backgroundPosition:0+"px"+" "+j+"px"
});
document.body.appendChild(ImageSaver);
}
}
</script>
</head>
<body>
</body>
</html>
elt 函数是一个有助于轻松生成元素的函数。我真的很感谢你的帮助。
解决方案
background
,height
并且width
不是属性(除了少数元素,它们大多已被弃用),也不是backgroundPosition
.
setProperty
在样式声明中使用函数设置 CSS 属性值。
确保使用 CSS 属性名称,而background-position
不是backgroundPosition
.
element.style.setProperty("name", "value");
推荐阅读
- firebase - 如何在颤动中发送通知
- php - \Q 和 \E 是否应该在 PCRE 中转义分隔符?
- ios - Xcode 10 应用上传卡在“正在协商连接...”
- python - 安装要求时 pip 被杀死
- java - Netbeans 和 Maven,如何阻止 Maven 尝试下载?
- cython - Cython:我如何知道何时分配对对象的引用或分配具有相同值的对象的副本?
- r - 如何使用ggplot2从具有非等距轴的矩阵绘制等高线图?
- laravel - 通用请求字段的全局定义规则
- java - 在java中并排显示来自磁盘和URL的图片
- javascript - 是的,使用匹配问题使用正则表达式进行验证