11,055
edits
DansFriend (talk | contribs) No edit summary |
DansFriend (talk | contribs) No edit summary |
||
Line 13: | Line 13: | ||
// operation types are strings like "_reset" or "" for the default toggle operation | // operation types are strings like "_reset" or "" for the default toggle operation | ||
var togglers = []; | var togglers = []; | ||
var togglerStates = | var togglerStates = {}; | ||
var allClasses = {}; // associative map of class names to page elements | var allClasses = {}; // associative map of class names to page elements | ||
Line 64: | Line 64: | ||
function areAllTogglersOff(elem) | function areAllTogglersOff(elem) | ||
{ | { | ||
for (var i = 0; i < | for (var i = 0; i < togglers.length; i++) | ||
{ | { | ||
if (allClasses[ | if (allClasses[togglers[i][1]].includes(elem) && togglerStates[togglers[i][1]] === true) | ||
{ | { | ||
return false; | return false; | ||
Line 92: | Line 92: | ||
// initialize/clear any old information | // initialize/clear any old information | ||
togglers = []; | togglers = []; | ||
togglerStates = | togglerStates = {}; | ||
allClasses = {}; | allClasses = {}; | ||
Line 149: | Line 149: | ||
for (var a=[], k=collection.length; k;) a[--k] = collection[k]; | for (var a=[], k=collection.length; k;) a[--k] = collection[k]; | ||
if (! allClasses[toBeToggled]) | if (!allClasses[toBeToggled]) | ||
allClasses[toBeToggled] = a; | allClasses[toBeToggled] = a; | ||
togglers[togglerID].push(new Array(op, toBeToggled)); | togglers[togglerID].push(new Array(op, toBeToggled)); | ||
togglerStates[ | |||
if (!togglerStates[toBeToggled]) | |||
togglerStates[toBeToggled] = togglerState; | |||
} | } | ||
} | } |