The script fires Toggle
fine on each Control
's (Controls[i]
) Click
. If the Control
's first OL
element is not Visible
it should be set Visible
and all other elements in Controls
that are not the current Control
(Controls[i]
) should be set Hidden
. If the Control
's first OL
element is Visible
it should be set 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++){
/* (function(){ */
if(Controls[i]!=Control){
Control.style.visibility="hidden";
}else{
Control.style.visibility="visible";
};
/* })(); */
};
}else{
Control.style.visibility="hidden";
};
};
function Event(Mode,Function,Event,Element,Capture_or_Bubble){
if(Mode.toLowerCase()!="remove"){
if(Element.addEventListener){
if(!Capture_or_Bubble){
Capture_or_Bubble=false;
}else{
if(Capture_or_Bubble.toLowerCase()!="true"){
Capture_or_Bubble=false;
}else{
Capture_or_Bubble=true;
};
};
Element.addEventListener(Event,Function,Capture_or_Bubble);
}else{
Element.attachEvent("on"+Event,Function);
};
};
};
function Controls(){
var Controls=document.getElementById("Quote_App").getElementsByTagName("dd");
for(var i=0;i<Controls.length;i++){
(function(){
var Control=Controls[i];
Event("add",function(){
Toggle(Control);
},"click",Control);
})();
};
};
Event("add",Controls,"load",window);
I am sure it's something with the For
statement, in the source you can see I've commented out a closure that I tried, but that too didn't work. I'm still starting out so not very competent with closures.
Your help is appreciated, thanks in advance.