style.display="block" 和frame的问题

甘泉123 2010-06-10 11:57:31
请教各位高手,我有一个frame框架的网页,左边是菜单,右边是显示的网页
显示一直都正常,点了左边的链接,新页面都是在右边出来
但是,右边有一个页我用javascript 控制了几个表格显示和隐藏,只要这个脚本执行过之后,再点框架左边的链接,就全都打开新窗口,很郁闷~

请各位高手帮帮忙,谢谢


<SCRIPT language=JavaScript>
function hideAll()
{
document.getElementById("jz").style.display="none";
document.getElementById("gn").style.display="none";
document.getElementById("ys").style.display="none";
document.getElementById("al").style.display="none";
document.getElementById("jzi").style.background="url(../images2/bgbl.gif)";
document.getElementById("gni").style.background="url(../images2/bgbl.gif)";
document.getElementById("ysi").style.background="url(../images2/bgbl.gif)";
document.getElementById("ali").style.background="url(../images2/bgbl.gif)";
}

function showFun(id)
{
if(id==1) name="jz";
if(id==2) name="gn";
if(id==3) name="ys";
if(id==4) name="al";
hideAll();
var imgname=name+"i";
//var imgurl="g"+id+"1.gif";
var imgurl="bggr.gif";
document.getElementById(name).style.display="block";
document.getElementById(imgname).style.background="url(../images2/"+imgurl+")";
}
</script>
...全文
209 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzzhong9910 2010-06-11
  • 打赏
  • 举报
回复
没做过
学习了
浪尖赏花 2010-06-10
  • 打赏
  • 举报
回复
没遇到过,从代码上看应该不会影响左侧菜单的打开效果
xk1126 2010-06-10
  • 打赏
  • 举报
回复
我试了很奇怪!~
甘泉123 2010-06-10
  • 打赏
  • 举报
回复
自己搞定了
在function showFun(id)里边加了一句:
var name = "";
唉~
relax19830426 2010-06-10
  • 打赏
  • 举报
回复
以前也遇到过这样的问题 后来不知道怎么就再也没碰到过了。JS没有问题,试试给每个页面加标准引用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 或者看看用的还是IE6吗 如果是就升级下吧。也是猜想 嫌麻烦就不用理我。
sclc_2008 2010-06-10
  • 打赏
  • 举报
回复
你用排除法试试,把js里面的脚本部分注释掉,看看具体是哪里问题
甘泉123 2010-06-10
  • 打赏
  • 举报
回复
哪位天使大哥给指条路呀~呵呵
甘泉123 2010-06-10
  • 打赏
  • 举报
回复
有想试试的哥们,可以用下边的代码试试,这个就是框架里右边网页的代码



<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">

<SCRIPT language=JavaScript>
function hideAll()
{
document.getElementById("jz").style.display="none";
document.getElementById("gn").style.display="none";
document.getElementById("ys").style.display="none";
document.getElementById("al").style.display="none";
document.getElementById("jzi").style.background="url(../images2/bgbl.gif)";
document.getElementById("gni").style.background="url(../images2/bgbl.gif)";
document.getElementById("ysi").style.background="url(../images2/bgbl.gif)";
document.getElementById("ali").style.background="url(../images2/bgbl.gif)";
}

function showFun(id)
{
if(id==1) name="jz";
if(id==2) name="gn";
if(id==3) name="ys";
if(id==4) name="al";
hideAll();
var imgname=name+"i";
//var imgurl="g"+id+"1.gif";
var imgurl="bggr.gif";
document.getElementById(name).style.display="block";
document.getElementById(imgname).style.background="url(../images2/"+imgurl+")";
}

</script>

</HEAD>
<BODY>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="6" height="26" valign="bottom" background="../images2/bgbl.gif"></td>
<td height="26" align="center" background="../images2/bggr.gif" id="jzi" style="CURSOR: hand" onMouseOver="showFun(1)">111</td>
<td height="26" align="center" background="../images2/bgbl.gif" id="gni" style="CURSOR: hand" onMouseOver="showFun(2)">222</td>
<td height="26" align="center" background="../images2/bgbl.gif" id="ysi" style="CURSOR: hand" onMouseOver="showFun(3)">333</td>
<td height="26" align="center" background="../images2/bgbl.gif" id="ali" style="CURSOR: hand" onMouseOver="showFun(4)">444</td>
<td width="6" height="26" valign="bottom" background="../images2/bgbl.gif"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="99" valign="top"><table id="jz" width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="71">111</td>
</tr>
</table>
<table id="gn" width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="DISPLAY: none">
<!-- style="DISPLAY: none"-->
<tr>
<td>222</td>
</tr>
</table>
<table id="ys" width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="DISPLAY: none">
<!-- style="DISPLAY: none" -->
<tr>
<td>444</td>
</tr>
</table>
<table id="al" width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="DISPLAY: none">
<!-- style="DISPLAY: none" -->
<tr>
<td>333</td>
</tr>
</table></td>
</tr>
</table>
</BODY></HTML>


甘泉123 2010-06-10
  • 打赏
  • 举报
回复
楼上的哥们,这个我知道啊,而且我也是这么做的
网页刚打开的时候一切正常,但只要在右边的网页里执行了上边的代码
左边所有的链接就都变成在新窗口打开了,呵呵
hoojo 2010-06-10
  • 打赏
  • 举报
回复
只要左边的窗口打开的链接目标设置了在右边打开就没有问题。
左:
<a href="a.html" target="main">open</a>
main是iframe的name
右:
<iframe name="main"/>
不知道你是什么情况,怪!
甘泉123 2010-06-10
  • 打赏
  • 举报
回复
或者能否反过来想想,在右边做了什么事,会导致左边的菜单链接打开新窗口呢?
改变右侧框架的名称?
甘泉123 2010-06-10
  • 打赏
  • 举报
回复
是啊,呵呵,真的很奇怪~

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧