使用javascript隐藏和显示div

时间:2012-03-26 20:16:16

标签: javascript css html

在学校项目上工作时,我遇到了一个问题,使用javascript来显示和隐藏几个div(确切地说是五个)。我希望能够打开所有五个并使用position:absolute和top and left cordinates将它们放在页面上,因为这使它们浮动在我的文本内容之上我创建了一个单独的div,命名包装器占据他们的空间并推动文字下来。然而,似乎是一个完美的代码片段,不是。既没有名为gs 1-gs 5的菜单div,也没有显示占用div。计数器背后的想法是,如果菜单div是oppened counter ++,else(意味着菜单设置为unhidden),则减去计数器,因此如果没有打开,则计数器等于0并且占用应设置为隐藏。

int count = 0;

function unhide(col2) {

var item = document.getElementById(col2);
var wrap = document.getElementById('wrapper');

    if (item) 
    {       
        //wrap.className=(item.className=='hidden')?'unhidden':'hidden';
        item.className=(item.className=='hidden')?'unhidden':'hidden';  

        if(item.className=='unhidden')
        {
        count++;            
        }
        else if(item.className=='hidden')
        {
        count--;
        }
    if(count > 0)
    {
    wrap.className=(item.className=='hidden')?'unhidden':'hidden';  
    }

    }




 }
<a href="javascript:unhide('gs1');">Game Station 1</a>
<a href="javascript:unhide('gs2');">Game Station 2</a>  
<a href="javascript:unhide('gs3');">Game Station 3</a>
<a href="javascript:unhide('gs4');">Game Station 4</a>
<a href="javascript:unhide('gs5');">Game Station 5</a>

</div>
    <div id="wrapper" class="hidden">
        <div id="gs1" class="hidden">       
        </div>

        <div id="gs2" class="hidden">   
        </div>


        <div id="gs3" class="hidden">       
        </div>

        <div id="gs4" class="hidden">       
        </div>

        <div id="gs5" class="hidden">       
        </div>
    </div>

小css片段

.hidden { visibility: hidden; display: none;}
.unhidden { visibility: visible; display: block;}

2 个答案:

答案 0 :(得分:2)

这是因为在取消隐藏div之后,包装器被标记为隐藏。请参阅我的示例 - http://jsfiddle.net/MYaNb/2/

答案 1 :(得分:-1)

把它放在css中

.show_hide 
    {
        display: none;
    }

把它放在你页面的头部。

<script type="text/javascript">
    $(document).ready(function()
    {
        $(".slidingdiv").hide();
        $(".show_hide").show();
        $('.show_hide').click(function()
        {
            $(".slidingdiv").slideToggle();
        });
     });
</script>

将它放在您将显示和隐藏div的位置

<div class="slidingdiv">
   something
</div>

<a href="#" class="show_hide">show/hide</a>
相关问题