В следующем коде, если Control
(элемент, который запускает Toggle
первый OL
), не равен Visible
, то должно быть установлено Visible
и все остальные Controls
(Controls[i]
) так будет Hidden
.
.js
function Toggle(Control){
var Controls=document.getElementsByTagName("ol",document.getElementById("Quote_App"));
var Control=Control.getElementsByTagName("ol")[0];
if(Control.style.visibility!="visible"){
for(var i=0;i<Controls.length;i++){
if(Controls[i]!=Control){
Reveal("hide",20,0.3,Controls[i]);
}else{
Reveal("show",20,0.3,Control);
};
};
}else{
Reveal("hide",20,0.3,Control);
};
};
Хотя функция [Toggle
] работает нормально, она фактически устанавливает Controls[i]
в Hidden
, даже если она уже есть.
Это легко исправить, добавив оператор If
, как показано в приведенном ниже коде. Конечно, есть более элегантное решение, может быть, сложное If
условие?
.js
function Toggle(Control){
var Controls=document.getElementsByTagName("ol",document.getElementById("Quote_App"));
var Control=Control.getElementsByTagName("ol")[0];
if(Control.style.visibility!="visible"){
for(var i=0;i<Controls.length;i++){
if(Controls[i]!=Control){
if(Controls[i].style.visibility=="visible"){
Reveal("hide",20,0.3,Controls[i]);
};
}else{
Reveal("show",20,0.3,Control);
};
};
}else{
Reveal("hide",20,0.3,Control);
};
};
Ваша помощь ценится всегда.