从javascript数组向html页面添加新元素
我试图创建一个数组来保存元素样式。当用户单击按钮时,数组中的新元素应该可见。 这就是我目前所拥有的。该按钮将添加一个彩色Div。但我正在尝试用数组扩展它 下面是我的javascript:从javascript数组向html页面添加新元素,javascript,html,css,arrays,Javascript,Html,Css,Arrays,我试图创建一个数组来保存元素样式。当用户单击按钮时,数组中的新元素应该可见。 这就是我目前所拥有的。该按钮将添加一个彩色Div。但我正在尝试用数组扩展它 下面是我的javascript: function addObj() { var newObj = document.createElement('div'); newObj.style.position = "absolute"; newObj.style.height = "60px"; newObj.st
function addObj()
{
var newObj = document.createElement('div');
newObj.style.position = "absolute";
newObj.style.height = "60px";
newObj.style.width = "60px";
newObj.style.top = "60px";
newObj.style.left = "60px";
newObj.style.backgroundColor = "blue";
var docBody = document.getElementsByTagName("body").item(0);
var newElement = document.getElementsByTagName("div").item(0);
var items = new Array();
items[0] = new Array(100,200,'#FF0000');
items[1] = new Array(300,400,'#0FFFCC');
items[2] = new Array(400,500,'#FFFFCC');
items[3] = new Array(600,200,'#3FFFCC');
items[4] = new Array(600,200,'#F3FFCC');
for (var i = 0; i > items.length; i++){
addObj(items[i] [0], items[i] [1]);
// addObjects(items[i] [0], items[i] [1]);
}
docBody.appendChild(newObj);
function newObj(leftPos, topPos, color){
var newObj = addObj(items[i] [0], items[i] [1]);
}
}
这是我的html:
<body>
<button onClick="addObj()">
Add Object
</button>
</body>
添加对象
单击添加下一项
var count = 0;
var items = [
[100, 200, '#FF0000'],
[300, 400, '#0FFFCC'],
[400, 500, '#FFFFCC'],
[600, 200, '#3FFFCC'],
[600, 200, '#F3FFCC']
];
function addObj() {
var target = items[count++];
if (!target)
return;
var newObj = document.createElement('div');
newObj.style.position = "absolute";
newObj.style.height = "60px";
newObj.style.width = "60px";
newObj.style.left = target[0] + "px";
newObj.style.top = target[1] + "px";
newObj.style.backgroundColor = target[2];
document.getElementsByTagName("body").item(0).appendChild(newObj);
}
我对代码进行了一点重构,我没有功能,但它的渲染div控件带有颜色。
我建议您使用jquery,它将帮助您大量抽象代码。
下面是java脚本代码
函数addObj()
{
var items=新数组();
项[0]=新数组(100200,#FF0000');
项目[1]=新阵列(100400,#0FFFCC');
项目[2]=新阵列(100600,#FFFFCC');
项目[3]=新阵列(100800,#3FFFCC');
项目[4]=新阵列(1001000,#F3FFCC');
对于(变量i=0;i
为什么不创建css类,然后从元素的类列表中添加/删除该类呢。但是我注意到代码中有一个递归循环addObj
在for循环中从自身内部调用。
I have refactored code little bit, I donnt functionality but its rendering div control with color.
I suggest you to use jquery which will help you to abstract code a lot.
here is the java script code
function addObj()
{
var items = new Array();
items[0] = new Array(100,200,'#FF0000');
items[1] = new Array(100,400,'#0FFFCC');
items[2] = new Array(100,600,'#FFFFCC');
items[3] = new Array(100,800,'#3FFFCC');
items[4] = new Array(100,1000,'#F3FFCC');
for (var i = 0; i < items.length; i++){
newObj(items[i] [0], items[i] [1], items[i] [2]);
}
}
function newObj(leftPos, topPos, color)
{
var docBody = document.getElementById("elements");
var newObj = document.createElement('div');
newObj.style.position = "absolute";
newObj.style.height = "60px";
newObj.style.width = "60px";
newObj.style.top = topPos;
newObj.style.left = leftPos;
newObj.style.backgroundColor = color;
docBody.appendChild(newObj);
}
Here is your HTML code
<body>
<div id="elements">
<button onClick="addObj()">Add Object</button>
</div>
</body>