在调用setAnchor()之后,div元素仍然占用空间(仅限IE)

时间:2011-12-21 10:07:02

标签: javascript html extjs

我有这种格式的HTML。

<html>
<head>
...
</head>
<body>
<label id='view' onClick="ShowMe()">show my name</label>
<img src="home.jpg" width="800px" height="600px"/>
<div id='name' style="display:none;height:200px">Your Name is DARSHAN</div>
</body>
</html>

在javascript中我有这个功能

ShowMe()
{
var nameDiv=Ext.get('name');
var viewDiv=Ext.get('view');
nameDiv.setStyle('display','block');
nameDiv.anchorTo(viewDiv,"tr-br?");

}

这个东西适用于所有浏览器,但是在IE中,当我点击“显示我的名字”标签时,它会在显示我的名字附近显示“名称”标签,但是“名称”Div也会占用垂直空间标签和滚动条出现。如何摆脱它?

3 个答案:

答案 0 :(得分:3)

这怎么办?此代码中存在许多错误:

您的样式属性值中应该有分号,而不是逗号

<div id='name' style="display:none;height:200px">

有一个拼写错误 - display被称为dispaly

nameDiv.setStyle('display','block');

另外,setStyle和anchorTo函数是什么?他们来自哪个图书馆?你自己写的吗?请提供更多信息。

编辑:感谢PPvG添加标签 extjs

请提供实际工作/错误代码(复制和粘贴)的代码段,而不是手动编写新代码。

答案 1 :(得分:1)

内联样式分为“,”

这是无效的,CSS规则必须以分号结尾“;”

对于有效的html / css

,IE非常挑剔

答案 2 :(得分:0)

在与办公室的一位专家讨论后,我知道了这一点。

当您在一个地方定义Div并锚定到其他地方时可能会出现此问题。锚标记的工作原理是它将采用我们锚定的div的坐标,并相应地定义新标记的顶部和左侧。因此,我们需要确保将'poistion'属性值定义为'absolute'。

所以对我的问题解决方案是添加

<div id='name' style="display:none;height:200px;position:absolute">Your Name is DARSHAN</div>
相关问题