我有这种格式的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也会占用垂直空间标签和滚动条出现。如何摆脱它?
答案 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>