首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在崩溃后没有扩张?

在崩溃后没有扩张?
EN

Stack Overflow用户
提问于 2014-04-06 18:58:12
回答 1查看 78关注 0票数 1

在我制作的这个简单的展开/折叠导航条中,第二个导航条在折叠后不会重新展开,尽管第一个很好。一旦我崩溃了第二个部分,它将保持崩溃,不会扩大,虽然第一个部分继续良好的工作,扩展和崩溃谢谢,所有的帮助是感谢的。

下面是我的代码:

代码语言:javascript
复制
<script>
    var CurrentSec;
    var CurrentMenu;
    var CurrentLink;
    function Change(sec, state) {
        CurrentSec = "Sec-"+sec;
        CurrentMenu = "Menu-"+sec;
        CurrentLink = "Link-"+sec;
        if (state == 0) {
            document.getElementById(CurrentSec).src = "http://www.pirates-online-rewritten.com/Images/collapsed.gif";
            document.getElementById(CurrentMenu).style.display = "none";
            document.getElementById(CurrentLink).href = "javascript:Change("+sec+", 1)";
        }
        else {
            document.getElementById(CurrentSec).src = "http://www.pirates-online-rewritten.com/Images/expanded.gif";
            document.getElementById(CurrentMenu).style.display = "inline";
            document.getElementById(CurrentLink).href = "javascript:Change("+sec+", 0)";
        }

    }
</script>
<div class="sdmenu" style="visibility:visible">
    <span class="title" id="community"><img src="http://www.pirates-online-rewritten.com/Images/clear.gif" class="menuspacer" width="131" height="15" alt="Pirates Community" /><a href="javascript:Change(1, 0)" id="Link-1"><img src="http://www.pirates-online-rewritten.com/Images/expanded.gif" class="arrow" alt="Close Menu" id="Sec-1"/></a></span>
        <div id="Navbar"><div class="submenu" id="Menu-1">
        <a id="Link-1" >Test1</a>
        <a id="Link-2" >Test2</a>
        <a id="Link-3" >Test3</a>
        <a id="Link-4" >Test4</a>
        <a href="javascript:void(null)"></a>
        <span class="menubottom" id="menubottom">    
            <img src="http://www.pirates-online-rewritten.com/Images/boxbot.gif" alt="-" />
        </span>
     </div>
        <span class="title" id="community">
            <img src="http://www.pirates-online-rewritten.com/Images/clear.gif" class="menuspacer" width="131" height="15" alt="Pirates Community" />
                <a href="javascript:Change(2, 0)" id="Link-2"><img src="http://www.pirates-online-rewritten.com/Images/expanded.gif" class="arrow" alt="Close Menu" id="Sec-2"/></a>
            </span>
        <div id="Navbar-2">
            <div class="submenu" id="Menu-2">
                <a id="Link-5" >Test5</a>
                <a id="Link-6" >Test6</a>
                <a id="Link-7" >Test7</a>
                <a id="Link-8" >Test8</a>
                <a href="javascript:void(null)"></a>
                <span class="menubottom" id="menubottom">
                    <img src="http://www.pirates-online-rewritten.com/Images/boxbot.gif" alt="-" />
                </span>
            </div>
        </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-06 20:13:55

问题是您不止一次地为link-1使用id;请检查打开和关闭的div是否匹配。

我把你的功能改为:

代码语言:javascript
复制
function Change(sec, state) {
    console.log('Change(sec, state)', sec, state);
    var section = document.getElementById("Sec-"+sec);
    var menu = document.getElementById("Menu-"+sec);
    var menulink  = document.getElementById("MenuLink-"+sec); // <-- new MenuLink
    if (state == 0) {
        section.src = "collapsed.gif";
        menu.style.display = "none";
        menulink.href = "javascript:Change("+sec+", 1)";
    }
    else {
        section.src = "expanded.gif";
        menu.style.display = "inline";
        menulink.href = "javascript:Change("+sec+", 0)";
    }
}

以及匹配的html。我使用的不是Link-1,而是MenuLink-1,因为Link-1已经用于另一个元素。

代码语言:javascript
复制
<span class="title" id="community">
  <img  src="clear.gif" class="menuspacer" width="131" height="15" alt="foo" />
  <a  href="javascript:Change(1, 0)" id="MenuLink-1">
      <img  src="expanded.gif" class="arrow" alt="Close Menu" id="Sec-1"/>
   </a>
</span>

你必须对MenuLink-2做同样的事情

这是完整的html,其中打开和关闭div的嵌套匹配:

代码语言:javascript
复制
<div class="sdmenu" style="visibility:visible">
    <span class="title" id="community1">
    <img  src="clear.gif" class="menuspacer" width="131" height="15" alt="foo" />
    <a  href="javascript:Change(1, 0)" id="MenuLink-1">
       <img  src="expanded.gif" class="arrow" alt="Close Menu" id="Sec-1"/>
    </a>
    </span>
    <div id="Navbar">
      <div class="submenu" id="Menu-1">
        <a id="Link-1">m1.1</a>
        <a id="Link-2">m1.2</a>
        <a id="Link-3">m1.3</a>
      </div>
    </div>
    <span class="title" id="community2">
     <img src="clear.gif" class="menuspacer" width="131" height="15" alt="foo" />
     <a href="javascript:Change(2, 0)" id="MenuLink-2">
       <img src="expanded.gif" class="arrow" alt="Close Menu" id="Sec-2"/>
     </a>
    </span>
    <div id="Navbar-2">
        <div class="submenu" id="Menu-2">
            <a id="Link-5">m2.5</a>
            <a id="Link-6">m2.6</a>
            <a id="Link-7">m2.7</a>
        </div>
    </div>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22898490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档