11. september 2001 - 20:38Der er
8 kommentarer og 1 løsning
Show/hide layer
Hej
Jeg har et lille problem. Når jeg kalder funktionen showLayer, bliver indholdet af variablen n ikke ført med over i funktionen show_hide_layers. Hvem kan fikse det?
function show_hide_layers() { var i, visStr, args, theObj; args = show_hide_layers.arguments;
for (i = 0; i < (args.length - 3); i += 4 ) { visStr = args[i+3]; if ( (navigator.appName == \'Netscape\') && (document.layers != null) ) { theObj = eval(args[i]); if (theObj){ theObj.visibility = visStr; } } else if ( document.all != null ) { if (visStr == \'show\') { visStr = \'visible\'; } if (visStr == \'hide\') { visStr = \'hidden\'; } theObj = eval(args[i+1]); if (theObj) { theObj.style.visibility = visStr; } } else { if (visStr == \'show\') visStr = \'visible\'; if (visStr == \'hide\') visStr = \'hidden\'; theObj = eval(args[i+2]); if (theObj) theObj.style.visibility = visStr; } } }
function showLayer(n) { show_hide_layers(\'document.layers[n]\',\'document.all[n]\',\'document.getElementById(n)\',\'show\' ); }
function hideAllLayers() { show_hide_layers(\'document.layers[\\\'layer1\\\']\',\'document.all[\\\'layer1\\\']\',\'document.getElementById(\\\'layer1\\\')\',\'hide\', \'document.layers[\\\'layer2\\\']\',\'document.all[\\\'layer2\\\']\',\'document.getElementById(\\\'layer2\\\')\',\'hide\' ); }
Har du fået det til at virke? Jeg kan sk* ikke lige få den til at gemme og vise lag. Jeg har rettet fejlen i hideAllLayers(). Der står findLag(\'layer2\'].
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> <script language=\"JavaScript\" src=\"showhide.js\"></script> </head>
OK. det var den ) diu fandt, det L jeg snakkede om og så testen ( i < (args.length - 3) ) i funktionen show_hide_layers()\'s for løkke hvor 3 skulle ændres til 1.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.