日期:2014-05-17  浏览次数:20728 次

动态创建的控件,怎么调整布局margin?在线等!

function createText(obj, x, y)
{
var input = document.createElement("input");
var position = document.getElementById("div1");
input.type = "text";
input.id = "roomId"+num;
input.value = obj;
input.disabled = "disabled";
input.style.width = "30px";
input.style.height = "30px";
$("#"+input.id).css("top", x+"px");
$("#"+input.id).css("left", y+"px");
input.setAttribute("align", "center");
position.appendChild(input);
num+=1;
}

如上所示,创建文本框的时候出现传入三个值,value、鼠标的坐标值,想让动态创建的文本框显示在鼠标的位置,可是发现总是创建在前一个的后面,使用setAttribute和input.style.top结果一样,谁知道是哪里的问题?

------解决方案--------------------
你是向position中追加一个子控件当然会在后面。
不清楚楼主主要是实现什么效果?详解!
------解决方案--------------------
top和left是你所说的。
不知道楼主有没有想过,你创建的文本框可以叠加在另一个控件上面吗?
你可以创建一个固定的层,然后把你的文本框放入该层中,接下来你就可以让它出现在你的鼠标位置了。这个类似与页面上的那些广告图片!
------解决方案--------------------
如果楼主写过没有网页中的图片随鼠标滚动! 建议楼主看看图片随鼠标滚动! 然后你把图片改成你的文本框就OK了!
文本框可以放在div中,不过不能放在已有元素的上面,只能在后面添加。
就像一个管道,你只能从一头添加,添加进的只能在后面。