0

以下のように、本体に設定されたメインdivにgmapがあります。次に、javascriptに、以下のように新しいdivを追加します。問題は、テーブル付きのdivがページの左上に表示され続け、との値を変更しようとしても、他の場所に移動しないことですdocument.getElementById("auto").style.top="35px";document.getElementById("auto").style.left="35px";

var contents = document.createElement("div");
contents.style.width="300px";
contents.style.height="100px";

var htmlString = '<table style="background-color: #ffffff;">\r\n';
htmlString += '<tr><td>Name</td><td valign="top"><input id="nm" type="text" style="width:100%" value=""></td></tr>\r\n';
htmlString += '<tr><td>Description</td><td valign="top"><input id="desc" type="text" style="width:100%" value=""></td></tr>\r\n';
htmlString += '<tr><td>Client</td><td valign="top">'+clientList+'</td></tr>\r\n';                          
htmlString += '<tr>\r\n';
htmlString += '<td>&#160;</td><td><input type="button" value="Save" onclick="editFeature(\'Point\')"> <input type="button" value="Cancel" onclick="saveFeatureCancel()"></td>\r\n';
htmlString += '</tr>\r\n';
htmlString += '</table>\r\n';               

contents.innerHTML="<form name='form2' id='form2' onsubmit='javascript:codeAddress();return false;'><div id='auto' style='z-index:5; position:relative'>"+htmlString+"</div></form>";
document.getElementById('map').appendChild(contents);
document.getElementById("contents").style.position="relative";
document.getElementById("auto").style.top="35px";
document.getElementById("auto").style.left="35px";  

本体のメインコード

<body>
  <div id="map">
  </div>
</body>
4

3 に答える 3

2

「contents」DOM要素のIDを「contents」に設定することはありません。 この(最後の)行を追加するだけの簡単な修正。

var contents = document.createElement("div");
contents.style.width="300px";
contents.style.height="100px";
contents.id = 'contents';

これが私のjsFiddleです。

于 2013-03-06T16:16:52.647 に答える
1

IDが「マップ」ではなく「自動」の要素のtopとを設定していますleft

だからあなたは使わなければならないかもしれません、

document.getElementById("map").style.position="absolute";またdocument.getElementById("map").style.position="fixed";

document.getElementById("map").style.top="35px";
document.getElementById("map").style.left="35px";
于 2013-03-06T16:14:49.890 に答える
1

ここにはいくつかの問題があります。参照用に作業中の jsFiddle を参照してください: http://jsfiddle.net/7hzct/1/

まず、(あなたのコメントから気づいたように) 位置をabsoluteではなくに設定する必要がありrelativeます。

次に、 に追加div#contentsdiv#mapます。あなたのコメントから、それを本文に追加したいようです(の隣#map):

document.body.appendChild(contents);

さらに、topとのleft座標を設定してい#autoます。使用したいbottomrightに設定します#contents

document.getElementById("contents").style.position="absolute";
document.getElementById("contents").style.bottom="35px";
document.getElementById("contents").style.right="35px";

私はあなたの HTML 文字列に触れていませんが、読むのは非常に恐ろしいです -インライン CSS をあまり使用しないでください! . また、valignHTML 4.01 以降では非推奨になっています。

于 2013-03-06T17:00:50.527 に答える