动态创建Div's、 外部Div的孩子,在Chrome中的位置错误,但在IE中是正确的
Dynamically created Div's, children of outer Div, position wrong in Chrome, but correct in IE
我有一些javascript,它可以动态创建包含JSON数据的div元素。我将这些DIV附加到父"outerDiv"。
我希望OuterDiv是一个水平保持在中心并与窗户顶部对接的容器。
然后,我想要的内部DIV以特定的方式排列在容器中。
我以为我已经实现了我想要的,因为它在IE中显示正确,但当我在Chrome中打开它时,所有的DIV都位于outerDIV容器中。
这是我的密码。。。
<script>
var data = { "users":[
{ "Club" : "Ashford",
"Defeated" : false,
"Score" : 520000,
"Team Name" : "Assassins",
"Id" : 1
},
{ "Club" : "Eltham Hill",
"Defeated" : true,
"Score" : 480000,
"Team Name" : "Crusaders",
"Id" : 2
},
{ "Club" : "Sittingbourne",
"Defeated" : false,
"Score" : 610000,
"Team Name" : "Strikers",
"Id" : 3
},
{ "Club" : "Watford",
"Defeated" : true,
"Score" : 180000,
"Team Name" : "Wanderers",
"Id" : 4
}
]}
var outerDiv = document.createElement("div");
outerDiv.id = "map";
document.body.appendChild(outerDiv);
//document.body.style.position='relative';
//document.body.style.left=200;
for (var z in data.users) {
if (z % 2 == 0){
var divTag = document.createElement("div");
divTag.id = data.users[z].Id;
divTag.innerHTML = "<H2>" + data.users[z].Club + "</h2>" + "</br> <h3>" + data.users[z].Score +"</h3>";
document.getElementById('map').appendChild(divTag);
document.getElementById(data.users[z].Id).style.position='absolute';
document.getElementById(data.users[z].Id).style.left=10;
document.getElementById(data.users[z].Id).style.top=(data.users[z].Id - 1) * 100;
document.getElementById(data.users[z].Id).style.color='rgb(0,100,255)';
}
else {
var divTag = document.createElement("div");
divTag.id = data.users[z].Id;
divTag.innerHTML = "<H2>" + data.users[z].Club + "</h2>" + "</br> <h3>" + data.users[z].Score +"</h3>";
document.getElementById('map').appendChild(divTag);
document.getElementById(data.users[z].Id).style.position='absolute';
document.getElementById(data.users[z].Id).style.left=600;
document.getElementById(data.users[z].Id).style.top=(data.users[z].Id - 1) * 100;
document.getElementById(data.users[z].Id).style.color='rgb(200,10,20)';
}
}
</script>
我现在在Head中有这个CSS。。。
<style>
div h3 {color: green;}
div#map{
width: 600px;
height: 2000px;
position: absolute;
top: 0%;
left: 20%;
}
</style>
为什么它在IE中看起来正确,但在Chrome中却不正确?我希望它在所有浏览器、桌面和移动设备中都看起来正确。
感谢任何帮助:)
完成了……像我想的那样简单。
所以看起来IE在的末尾添加了"px"
document.getElementById(data.users[z].Id).style.left=10;
并正确解释
Chrome没有附加"px",所以我刚刚将代码更改为
document.getElementById(data.users[z].Id).style.left=10 + "px";
无论如何都应该这样做,真的是为了最佳实践。
相关文章:
- DIV并排,位置不正确
- 如何通过点击机身上的任何位置来关闭弹出的DIV
- 将插入符号位置移动到ContentEditable<DIV>
- 更改CSS以允许使用Javascript控制DIV位置
- Div 转到错误的位置
- jQuery根据鼠标位置计算DIV偏移量和边界
- jQuery位置DIV固定在卷轴上
- 当向上滚动时,使Div返回到其原始位置
- 如何根据列为空或非空的位置从类中隐藏每个Div
- 如何滚动到DIV顶部表格的最后一个位置(项目10)
- 在网格视图中的页面上弹出 Div 位置
- 如何计算与DIV位置相关的鼠标坐标
- 如何使一个Div's位置(不是子或父)完全链接/依赖于另一个Div's位置
- 保存可拖动Div位置
- 加载时Div位置错误
- 获取Div位置与响应式布局
- 如何动态改变Div位置,它必须是for循环中的绝对位置
- 在另一个内容上设置Div位置
- Div位置不能与任何值设置一起工作
- Div位置参数中断滑块