Proof-reading please
Jeg oprettede et spørgsmål lidt tidligere idag:http://www.eksperten.dk/spm/732514
Jeg har nu strikket følgende løsningsmulighed sammen. Nogle javascript-kyndige folk må meget gerne læse det igennem, og gøre opmærksom på eventuelle huller.
Til at starte med skal det være en generisk måde til at vise/skjule layers, men den burde også fungere til andet.
Kommentarer er meget velkomne. :-)
-------------------------------------------------
// Tries to manipulate some DIV element.
// element = the id of the DIV element to be manipulated
// attribute = the style attribute of the element to be manipulated
// value = the new value of the attribute
// Sample function calls:
// styleSetter('Tab1','visibility','visible');
// styleSetter('Tab2','visibility','hidden');
function styleSetter(element, attribute, value){
okay = false;
javascript_setvalue = "";
javascript_checkvalue = "";
if (okay == false) {
try { // First trying most modern browsers DOM approach
javascript_setvalue = "document.getElementById('" + element + "').style." + attribute + "='" + value + "';";
eval(javascript_setvalue);
javascript_checkvalue = "document.getElementById('" + element + "').style." + attribute + "=='" + value + "';";;
okay = eval(javascript_checkvalue);
}
catch (err) {}
}
if (okay == false) {
try { // Then trying most older MSIE browsers
javascript_setvalue = "document.all."+element+".style."+attribute+"='"+value+"';";
eval(javascript_setvalue);
javascript_checkvalue = "document.all."+element+".style."+attribute+"=='"+value+"';";
okay = eval(javascript_checkvalue);
}
catch (err) {}
}
if (okay == false) {
try { // Finally trying old Netscape browsers
javascript_setvalue = "document."+element+"."+attribute+"='"+value+"';";
eval(javascript_setvalue);
javascript_checkvalue = "document."+element+"."+attribute+"=='"+value+"';";
okay = eval(javascript_checkvalue);
}
catch (err) {}
}
if (okay == false) {
alert('Javascript-koden på denne side, dur desværre ikke i din browser.');
}
}