我有一些JavaScript可以为自动建议设置一个隐藏的div,并且在doctype设置为时可以正常工作: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
function editpartnumberInit() {
/* Create Suggest Box */
suggestDiv=document.createElement("DIV");
suggestDiv.id="editpartnumbersuggestBox";
suggestDiv.className="suggest_results";
suggestDiv.style.visibility="hidden";
suggestDiv.style.width=400;
suggestDiv.style.zIndex="200";
document.body.appendChild(suggestDiv);
suggestDiv.style.position="absolute";
pos = suggestPos("editpartnumber", 400);
suggestDiv.style.top=pos[1];
suggestDiv.style.left=pos[0];
/* Setup the event handler */
editpartnumberOldValue=document.getElementById("editpartnumber").value;
suggestAddTimer("editpartnumber", "editpartnumberOnchange()");
}
但是,如果我将doctype更改为<!DOCTYPE html>
init时发生的样式,则不会设置style.width,style.top,style.left,也不会发生错误,即使我在chrome中调试并尝试从控制台进行设置,也不会成功。设置。
文档类型为4.01的结果:
<div id="editpartnumbersuggestBox" class="suggest_results" style="visibility: hidden; width: 400px; z-index: 200; position: absolute; top: 321px; left: 421px;"></div>
HTML 5简单doctype的结果:
<div id="editpartnumbersuggestBox" class="suggest_results" style="visibility: hidden; z-index: 200; position: absolute;"></div>
有人知道这是什么问题吗?
更新:固定谢谢!
suggestDiv.style.width="400px";
pos = suggestPos("editpartnumber", 400);
suggestDiv.style.top=pos[1]+"px";
suggestDiv.style.left=pos[0]+"px";
我认为问题出在这里:suggestDiv.style.width=400;
。在HTML5 / CCS3中,width属性不能为简单数字,必须具有一个单位。
如果将其更改为suggestDiv.style.width='400px';
它应该工作。
同样适用于这里:
pos = suggestPos("editpartnumber", 400);
suggestDiv.style.top=pos[1];
suggestDiv.style.left=pos[0];
您必须确保该展位pos[1]
并pos[0]
在每个数字后都包含“ px”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句