0

我正在尝试使用 JavaScript 创建一个表单并定位它。我使用以下代码。

var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('action',"submit.php");

// Position form
f.setAttribute('offsetTop',offsetTop);
f.setAttribute('offsetLeft',parseInt(offsetLeft)+parseInt(imageWidth));

document.getElementsByTagName('body')[0].appendChild(f);

但是,当我使用 Firebug 检查 DOM 时,表单的位置与我根本没有使用表单定位调用一样。也就是说,它位于作为图像的最后一个元素的下方。

4

2 回答 2

2

试试这个。

var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('action',"submit.php");

// Position form
f.style.position = "absolute";
f.style.top = offsetTop +"px";
f.style.left = (parseInt(offsetLeft)+parseInt(imageWidth)) +"px";
于 2013-04-19T18:45:27.267 回答
1

offsetTop 和 offsetLeft 不是 CSS 属性。而且您需要使用非静态位置。使用“风格”:

f.style.position = "absolute";//or relative, fixed
f.style.top = offsetTop+"px";//set css top
于 2013-04-19T18:45:50.243 回答