automatisere gentagelser
Jeg har fået et script af pelkjaer der viser/skjuler lag. Se evt. http://www.eksperten.dk/spm/218248Jeg har ændret lidt i det for at tage højde for at det både kaldes fra index.html siden og fra en iframe på denne side, se de to sidste if sætninger :
function findObj(theObj, theDoc) {
var p, i, foundObj;
if(!theDoc) theDoc = document;
/*
if( (p = theObj.indexOf("?")) > 0 && parent.frames.length) {
theDoc = parent.frames[theObj.substring(p+1)].document;
theObj = theObj.substring(0,p);
}
*/
if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
for (i=0; !foundObj && i < theDoc.forms.length; i++)
foundObj = theDoc.forms[i][theObj];
for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
foundObj = findObj(theObj,theDoc.layers[i].document);
if(!foundObj && document.getElementById && self!=parent) foundObj = parent.document.getElementById(theObj);
if(!foundObj && document.getElementById && self==parent) foundObj = document.getElementById(theObj);
return foundObj;
}
Funktionen kaldes f.eks. sådan:
<p><a href="java script:;" onclick="showHideLayers('lag01','','show','lag00','','hide','lag02','','hide','lag03','','hide');">Vis lag 01</a></p>
<p><a href="java script:;" onclick="showHideLayers('lag02','','show','lag00','','hide','lag01','','hide','lag03','','hide');">Vis lag 02</a></p>
<p><a href="java script:;" onclick="showHideLayers('lag03','','show','lag00','','hide','lag01','','hide','lag02','','hide');">Vis lag 03</a></p>
<p><a href="java script:;" onclick="showHideLayers('lag00','','show','lag01','','hide','lag02','','hide','lag03','','hide');">Vis lag 00</a></p>
Men når nu jeg har, ikke 4, men 50 lag, blive disse kald næsten uoverkommelige. Hvordan kan jeg automatisere kaldene så jeg kan nøjes med ID for den div der skal vises som eneste argument - eller noget andet enkelt?
Derudover vil jeg være glad for nogle tip om hvad i dette script jeg kan undvære. Jeg behøver ikke at tage højde for NS4, men blot IE5-6 og NS6. Jeg har allerede sat noget i kommentar, som I kan se, men er faktisk ikke helt klar over hvad det gør ;-/
30 points for hver del af sp., 60 for begge, er det OK?
