2013-11-28 2 views
1

Функция foldout работает отлично, но я хочу, чтобы вторая функция запускалась сначала, чтобы сначала закрыть все остальные элементы, но я не знаю, что не так; Спасибо за помощь!Код для складывания окна и складывания всех остальных

Редактировать. Вторая функция, похоже, не работает или не закрывает уже открытые формы.

Редактировать. Спасибо всем за ответы; Завтра у меня будет больше времени, чтобы прочитать и попробовать все.

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

Try вызова функции foldall из вашей foldout функции:

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> 
Смежные вопросы