为什么这个js语句显示不出div来啊???

匆匆岁月 2004-05-08 05:45:18
function showLayer(LayerName)
{
while( document.getElementById(LayerName) != null)
{
var oElement = document.getElementById(LayerName);
oElement.style.VISIBILITY = 'show';
}
}

<a href="frame01.htm" target="mainFrame"><img border="0"
onMouseMove="showLayer(Layer1);this.src='images/caidan01b.gif'"
src="images/caidan01a.gif"></a>

<DIV id=Layer1
style="Z-INDEX: 1; LEFT: 200px; VISIBILITY: hidden; WIDTH: 100px; POSITION: absolute; TOP: 110px; HEIGHT: 22px">
<TABLE borderColor=#ffff00 cellSpacing=0 cellPadding=0 width=100%
border=1>
<tr>
<TD align=middle bgColor=#ffff00><A
href="tree.aspx"
target=_blank>tree</A></TD>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
</tr>
</TABLE></DIV>
哪个地方出错了啊???
...全文
43 14 点赞 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dullwolf 2004-05-09
<SCRIPT LANGUAGE=javascript>
function showLayer(LayerID)
{
if( document.getElementById(LayerID)=="[object]")
{
var oElement = document.getElementById(LayerID);
oElement.style.visibility="visible";
}
}
</SCRIPT>
  • 打赏
  • 举报
回复
追寻梦中人 2004-05-09
不可能啊,
我试了一下可以啊
你是不是在这个页面上定义了好几个Layer1啊,
呵呵
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-09
现在又发现
function showLayer(LayerName)
{
var oElement = document.getElementById(LayerName);
if(oElement != null)
oElement.style.visibility = 'visible';
}
这样写又行了。
可是Layer1还是没有出现在页面上。。。
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-09
另外,我直接写
Layer1.style.visibility = 'visible';
居然说是
错误:'Layer1.style'为空或不是对象
这是怎么回事啊???
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-09
我试了一下,
function showLayer(LayerName)
{
var oElement = document.getElementById(LayerName);
if(oElement != null)
oElement.style.visibility = 'visible';
}
这样下来总是oElement总是null

if(oElement != null)
{
oElement.style.visibility = 'visible';
alert("1");
}
根本就不会执行到 alert("1");啊,这是怎么回事啊。。。
  • 打赏
  • 举报
回复
HAOSKYZHANG 2004-05-09
javascript大小写敏感。并且函数showLayer(LayerName)是个死循环,改写如下
function showLayer(LayerName)
{
var oElement = document.getElementById(LayerName);
if(oElement != null)
oElement.style.visibility = 'visible';
}

  • 打赏
  • 举报
回复
匆匆岁月 2004-05-09
奇怪了,
我都结贴了,
可是给各位的分却看不出来,
不知道怎么回事。
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-09
多谢 xinyunyishui(心云意水)!!!
  • 打赏
  • 举报
回复
心云意水 2004-05-09
你的错误在于函数写法与调用方法不符合
<img border="0" onMouseMove="showLayer(Layer1);this.src='images/caidan01b.gif'"
src="images/caidan01a.gif">
showLayer(Layer1)
你在这里调用的时候传入的是一个对象的id引用
function showLayer(LayerName)
{
while( document.getElementById(LayerName) != null)
{
var oElement = document.getElementById(LayerName);
oElement.style.VISIBILITY = 'show';
}
}
但你的函数写的时候又将传入的参数当作字符串对待,当然出错:)
修改的方法要么就是按我上边那么改写函数
要么就修改调用方法:
showLayer("Layer1"),然后按照前边朋友的指点修改你的函数。
  • 打赏
  • 举报
回复
心云意水 2004-05-09
<script>
function showLayer(LayerName)
{
LayerName.style.display = '';

}
function hide(LayerName)
{
LayerName.style.display = 'none';

}
</script>
<a href="frame01.htm" target="mainFrame"><img border="0"
onMouseover="showLayer(Layer1);this.src='images/caidan01b.gif'"
src="images/caidan01a.gif" onmouseout="hide(Layer1)"></a>

<DIV id=Layer1
style="Z-INDEX: 1; LEFT: 200px; display: none; WIDTH: 100px; POSITION: absolute; TOP: 110px; HEIGHT: 22px">
<TABLE borderColor=#ffff00 cellSpacing=0 cellPadding=0 width=100%
border=1>
<tr>
<TD align=middle bgColor=#ffff00><A
href="tree.aspx"
target=_blank>tree</A></TD>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
</tr>
</TABLE></DIV>
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-08
我加了这一句后还是不行啊。。。
oElement.style.display=''
  • 打赏
  • 举报
回复
匆匆岁月 2004-05-08
我改成
oElement.style.VISIBILITY = 'visible'了后
还是显示不出来啊。。。
  • 打赏
  • 举报
回复
ttkkyy 2004-05-08
oElement.style.display=''
  • 打赏
  • 举报
回复
HAOSKYZHANG 2004-05-08
oElement.style.VISIBILITY = 'show'
改为
oElement.style.VISIBILITY = 'visible'
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript
加入

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2004-05-08 05:45
社区公告
暂无公告