Javascript在单击时创建多个div元素

Javascript在单击时创建多个div元素,javascript,css,positioning,Javascript,Css,Positioning,我需要此应用程序的帮助。我希望用户选择名称、颜色和数字。提交表单时,将生成所选颜色和编号的框。可以添加更多的框,并且原稿不会被擦除。每个框具有随机定位和唯一id。 以下是我的努力: //仅在页面完全加载后调用函数 window.onload=init; //创建将由用户生成的框填充的数组 变量框=[]; //创建一个全局计数器变量,用于跟踪 //生成的框 var计数器=0; //使用参数创建一个长方体构造函数,以创建长方体对象 //对于生成的每个框 功能框(id、名称、颜色、x、y){ this

我需要此应用程序的帮助。我希望用户选择名称、颜色和数字。提交表单时,将生成所选颜色和编号的框。可以添加更多的框,并且原稿不会被擦除。每个框具有随机定位和唯一id。 以下是我的努力:

//仅在页面完全加载后调用函数
window.onload=init;
//创建将由用户生成的框填充的数组
变量框=[];
//创建一个全局计数器变量,用于跟踪
//生成的框
var计数器=0;
//使用参数创建一个长方体构造函数,以创建长方体对象
//对于生成的每个框
功能框(id、名称、颜色、x、y){
this.id=id;
this.name=名称;
这个颜色=颜色;
这个.x=x;
这个。y=y;
}
//为生成按钮输入设置onclick事件处理程序
函数init(){
var generateButton=document.getElementById(“generateButton”);
generateButton.onclick=生成;
var clearButton=document.getElementById(“clearButton”);
clearButton.onclick=清除;
}
//从用户处获取框的名称
函数生成(){
var数据=document.forms.data;
var textInput=document.getElementById(“名称”);
var name=textInput.value;
如果(名称==null | |名称==“”){
提醒(“请给你的神奇盒子起个名字”);
回来
}
//从用户处获取颜色选项
var colorSelect=document.getElementById(“颜色”);
var colorOption=colorSelect.options[colorSelect.selectedIndex];
var color=colorOption.value;
如果(!颜色){
警惕(“选择颜色”);
回来
}
//获取要从用户生成的框数
var amountArray=data.elements.amount;
对于(i=0;i(单击我)”;
//创建一个onclick事件,显示
//生成的每个框的详细信息
div.onclick=函数(){
警报(“您单击了id为“+id+
,命名为“+name+”的框,其颜色为“+color+
“在位置“+div.style.top+”,“+div.style.left”)
}
//表单重置
data=document.getElementById(“数据”);
data.reset();
}
}
}
//从场景div中清除框
函数clear(){
var sceneDivs=document.queryselectoral(“div#scene div”);
对于(变量i=0;i
在代码中,执行此循环时:

for (i = 0; i < amountArray.length; i++) {
    if (amountArray[i].checked) {
        /* make the div */
    }
}
(i=0;i{ 如果(数量[i]。已选中){ /*跳伞*/ } } 你总是只做一个盒子。您需要做的是第二个循环,使用单选按钮的值作为循环的长度。比如:

var totalBoxes = 0;
for (i = 0; i < amountArray.length; i++) {
    if (amountArray[i].checked) {
        totalBoxes = amountArray[i].value;
    }
}

for (i = 0; i < totalBoxes; i++) {
    /* make the div */
}
var totalbox=0;
对于(i=0;i

这样,如果用户选中5个框,您将得到5个框,依此类推。

您的实际问题是什么?我们不能只为您编写代码!比格尔虫,请看一下我描述下的链接。我无法生成多个框-谢谢,我仍然看不到任何问题,抱歉!你有什么特别需要帮助的地方吗?一行不起作用的代码,一个你很难理解的概念?嗨,beeglebug,我很确定我的问题在这里//获取从用户var amountArray=data.elements.amount生成的框的数量;对于(i=0;ivar totalBoxes = 0; for (i = 0; i < amountArray.length; i++) { if (amountArray[i].checked) { totalBoxes = amountArray[i].value; } } for (i = 0; i < totalBoxes; i++) { /* make the div */ }