2013-11-28 83 views
1

函数折叠很完美,但我希望第二个函数首先运行以关闭所有其他元素,但我不知道什么是错误的;感谢您的帮助!折叠窗口和折叠所有其他的代码

编辑。第二个函数似乎不工作或关闭已经打开的表单。

编辑。谢谢大家的答案;明天我会有更多的时间阅读和尝试一切。

functions.js:

function foldout(fold) { 

    if (document.getElementById) { 
     var fold = document.getElementById(fold).style; 
      if (fold.display == "block") { 
       fold.display = "none"; 
      } else { 
       fold.display= "block"; 
      } 
    return false; 
    } else { 
    return true; 
    } 
}; 
function foldall() { 
    var foldall = document.getElementsByClassName('foldall'); 
     for(var i=0; i<foldall.length; i++) { 
      var foldthis = foldall[i]; 
     if (foldthis.display == "block") { 
      foldthis.display = "none"; 
      } 
     } 
}; 

page.php文件:

<a href="#" onclick="foldall('foldall'); return foldout('fold');"> </a> 
<form method="POST" style="display: none;" class ="foldall" id="fold"> 
</form 
+0

发生什么事情是你错了?请解释。 – Bart

回答

0

尝试从foldout函数调用foldall功能:

function foldall() { 
    var foldall = document.getElementsByClassName('foldall'); 
     for(var i=0; i<foldall.length; i++) { 
      var foldthis = foldall[i]; 
     if (foldthis.display == "block") { 
      foldthis.display = "none"; 
      } 
     } 
}; 

function foldout(fold) { 
    foldall(); // collapse everything 
    if (document.getElementById) { 
     var fold = document.getElementById(fold).style; 
     if (fold.display == "block") { 
      fold.display = "none"; 
     } else { 
      fold.display= "block"; 
     } 
     return false; 
    } else { 
     return true; 
    } 
}; 

从你onclick只有折页调用处理程序:

<a href="#" onclick="foldout('fold');"></a> 
<form method="POST" style="display: none;" class ="foldall" id="fold"></form>