Javascript隐藏/显示图层

时间:2011-03-16 15:38:41

标签: javascript html hide show layer

我正在隐藏并在javascript中显示div,基本上我想显示一个div,然后当点击一个按钮时隐藏该div并显示另一个。我无法想象这里的javascript是我现在所拥有的,但是当我点击隐藏时第二层没有显示。

  <script language=javascript type='text/javascript'> 
    function hidediv() { 
    if (document.getElementById) { // DOM3 = IE5, NS6 
    document.getElementById('layer').style.visibility = 'hidden'; 
    document.getElementById('topbar').style.visibility = 'visisble';
    } 
    else { 
    if (document.layers) { // Netscape 4 
    document.layer.visibility = 'hidden'; 
    document.topbar.visibility = 'visible'; 

    } 
    else { // IE 4 
    document.all.layer.style.visibility = 'hidden'; 
    document.all.topbar.style.visibility = 'visible'; 
    } 
    } 
    }

    function showdiv() { 
    if (document.getElementById) { // DOM3 = IE5, NS6 
    document.getElementById('layer').style.visibility = 'visible'; 
 document.getElementById('topbar').style.visibility = 'hidden';
    } 
    else { 
    if (document.layers) { // Netscape 4 
    document.layer.visibility = 'visible'; 
document.topbar.visibility = 'hidden'; 
    } 
    else { // IE 4 
    document.all.layer.style.visibility = 'visible'; 
document.all.topbar.style.visibility = 'hidden';
    } 
    } 
    } 
    </script>

和css:

 #topbar {
    background-image: url(images/back.png);
background-repeat: repeat;
height: 30px;
margin-top: 20px;
visibility: hidden;
}

#show {
    float: right;
    padding-right: 40px;
    padding-top: 10px;
}

#hide {
    float: right;
    padding-right: 40px;
}

#layer {
background-image: url(images/back.png);
background-repeat: repeat;
padding-left: 20px;
padding-bottom:20px;
overflow: auto;
}

使用标准的html链接,如:

<a href="javascript:hidediv()">Hide</a>

任何帮助都会受到赞赏,干杯!

修改

好吧切换到全新的东西,但隐藏后似乎没有显示

<script type="text/javascript">

$(函数(){   $( '#显示隐藏')。点击(函数(){      $( '#层')切换();      $( '#顶栏')切换()。   }); });

<a href="javascript:void(0);" id="showhide">Show/Hide</a>

<div id="layer"></div>

2 个答案:

答案 0 :(得分:2)

你不需要jQuery。

您的功能可能如下所示:

function hideElement(elementId)
{
 document.getElementById(elementId).style.display = 'none';
}
function showElement(elementId)
{
 document.getElementById(elementId).style.display = 'block';
}

然后在页面加载或css中你可以隐藏第一个div。当点击发生时,您可以使用showElement来显示它。

答案 1 :(得分:0)

这可能会对您有所帮助:http://api.jquery.com/hide/http://api.jquery.com/toggle/

编辑:

我希望以下示例能为您提供帮助。

<!DOCTYPE html>
<html>
<head>
  <script language="javascript" type="text/javascript" src="jquery.js"></script>
  <script language="javascript" type="text/javascript">
  $(document).ready(function(){

    $("#button").click(function(){

         $("#a").toggle();
         $("#b").toggle();

     });

  });
  </script>
</head>
<body>
  <div id="a">
    I am a.
  </div>

  <div id="b" style="display: none">
  I am b.
  </div>

  <div id="button">
    <button>Show/Hide</button>
  </div>
</body>

</html>