JS点击按钮显示隐藏层问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS点击按钮显示隐藏层问题相关的知识,希望对你有一定的参考价值。

<head runat="server"> <title>无标题页</title> <script language="javascript" type="text/javascript"> /*** *功能:隐藏和显示div *参数divDisplay:html标签id ***/ var last_div; function click_a(divDisplay) var obj = document.getElementById(divDisplay); if(obj.style.display != "block") if (last_div) last_div.style.display = "none"; obj.style.display = "block"; last_div = obj; else obj.style.display = "none"; last_div = null; </script></head><body> <div> <a onClick="return click_a('divOne_1')" style="cursor:pointer;">打开</a> <div id="divOne_1" style="display:block;">div_one下面的内容</div> </div> <div> <a onClick="return click_a('divOne_2')" style="cursor:pointer;">打开</a> <div id="divOne_2" style="display:none;">div_one下面的内容</div> </div> <div> <a onClick="return click_a('divOne_3')" style="cursor:pointer;">打开</a> <div id="divOne_3" style="display:none;">div_one下面的内容</div> </div></body> 代码如上需要实现的功能:进入页面后默认显示第一个层,点击第二个层的按钮时,第一个层隐藏,第二个层显示,以此类推,页面始终只有一个层显示,其余的都隐藏。 遇到的困难:第一个层默认值是block,如果进入页面直接点别的层,当别的层显示出来之后,第一个层并不会隐藏,因为没有进行点击,所以不会给JS传参。 需要解决的问题:进入页面后默认显示的层需要给JS传参,把block属性传过去,当点击别的层,第一个层会正常隐藏。 实际使用的时候,Div数量不固定,所以尽量根据上面的代码修改,如果能再打开页面的时候给JS一个传参,感觉应该就能解决了

参考技术A if(obj!=document.getElementById("divOne_1"))

document.getElementById("divOne_1").style.display="none";

最傻瓜的方式,在
click_a
函数内增加一个判断,如果obj不是divOne_1的话,则对obj则将divOne_1进行隐藏。

js 点击隐藏显示问题

我用for循环显示的一些按钮并给他们name,然后点击它们的时候显示一个东西!就是不显示求大神解啊

你定义的a是全局变量,不管你点击的菜单是菜单一,还是菜单二都执行,不要这样写,直接加判断,点击菜单一时如果display是block就隐藏,否则显示

注:火狐和ie获取display的方法不同,用前先判断,要不不兼容
var CurrentStyle = function(e)
return e.currentStyle || document.defaultView.getComputedStyle(e, null);

if(CurrentStyle(document.getElementById(id))[\'display\']==\'none\')
document.getElementById(divName).style.display = "block";
else
document.getElementById(divName).style.display = "none";

希望对你能有所帮助。追问

但是我那要显示的里面有个隐藏按钮那个好使。。。。

参考技术A js的话用 dispaly属性。 none为不显示, blok为显示。

Jqueyr的话用$('#id').hide();隐藏
$('#id').show();显示
参考技术B 你的按钮有绑定Click事件吗追问

js 读取事件中写 button.onclick = function()这种形式写的

追答

用这个io258ij 网友给你的回答,应该就可以了,你试试

追问

我那个要显示的里面有个隐藏按钮点击他的话能隐藏

以上是关于JS点击按钮显示隐藏层问题的主要内容,如果未能解决你的问题,请参考以下文章

js 点击隐藏显示问题

html如何做点击按钮出现一个层,点击另外一个按钮在同一位置出现另外一个层,原层隐藏的效果?

div 的显示隐藏问题

怎么用js实现,点击“继续”,隐藏当前div,显示下一个div,点击“返回”隐藏当前div,显示上一个div

js点击按钮显示再点击空白地方隐藏

jquery如何控制循环里面的层的显示与隐藏