16. maj 2002 - 23:55
Der er
2 kommentarer og 2 løsninger
Vise lag i en anden frame
Jeg har en frame hvor jeg har et link som dette, som ved mouseover viser et lag i en anden frame: <a href="#" onmouseover="parent.content.clickMenu('38')">Test</a> Følgende kode er på siden i den anden frame hvor laget vises: <script language="JavaScript"> <!-- function clickMenu(menuID) { if (menuID=='0') { MM_showHideLayers('document.layers[\'menu0\']','document.all[\'menu0\']','hide','document.layers[\'menu38\']','document.all[\'menu38\']','hide'); } if (menuID=='38') { MM_showHideLayers('document.layers[\'menu0\']','document.all[\'menu0\']','show','document.layers[\'menu38\']','document.all[\'menu38\']','show'); } } function moveLayers() { if (navigator.appName == 'Netscape' && document.layers != null) { document.layers['menu0'].top=window.pageYOffset; document.layers['menu38'].top=window.pageYOffset; } else if (document.all != null) { //IE document.all['menu0'].style.top=document.body.scrollTop; document.all['menu38'].style.top=document.body.scrollTop;} } if (navigator.appName == 'Netscape' && document.layers != null) { setInterval("moveLayers()",50); } function MM_showHideLayers() { //v2.0 var i, visStr, args, theObj; args = MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) { //with arg triples (objNS,objIE,visStr) visStr = args[i+2]; if (navigator.appName == 'Netscape' && document.layers != null) { theObj = eval(args[i]); if (theObj) theObj.visibility = visStr; } else if (document.all != null) { //IE if (visStr == 'show') visStr = 'visible'; //convert vals if (visStr == 'hide') visStr = 'hidden'; theObj = eval(args[i+1]); if (theObj) theObj.style.visibility = visStr; } } } //--> </script> Dette virker fint i IE og Opera MEN IKKE Netscape - er der nogen der kan gennemskue hvad det kan være??? /s
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Hvis du vil have noget der virker i NS 6.x, IE 5+ og Opera 5, så skal du bruge den nye DOM og omskrive det din funktion med : document.getElementById function moveLayers() { if (document.getElementById && !document.all){ document.getElementById('menu0').top=window.pageYoffset; document.getElementById('menu38').top=window.pageYoffset; }else if (navigator.appName == 'Netscape' && document.layers != null) { document.layers['menu0'].top=window.pageYOffset; document.layers['menu38'].top=window.pageYOffset; } else if (document.all != null) { //IE document.all['menu0'].style.top=document.body.scrollTop; document.all['menu38'].style.top=document.body.scrollTop;} } /Nikolaj
Har du et bud på hvordan at denne funktion så skal skrives, der skal vel også ændres noget her således at den kan vise laget.... if (navigator.appName == 'Netscape' && document.layers != null) { setInterval("moveLayers()",50); } function MM_showHideLayers() { //v2.0 var i, visStr, args, theObj; args = MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) { //with arg triples (objNS,objIE,visStr) visStr = args[i+2]; if (navigator.appName == 'Netscape' && document.layers != null) { theObj = eval(args[i]); if (theObj) theObj.visibility = visStr; } else if (document.all != null) { //IE if (visStr == 'show') visStr = 'visible'; //convert vals if (visStr == 'hide') visStr = 'hidden'; theObj = eval(args[i+1]); if (theObj) theObj.style.visibility = visStr; } } } /s
Den her virker hos mig. <!-- var ns, ns6, ie; ns = (document.layers) ? true : false; ns6 = (document.getElementById) ? true : false; ie = (document.all) ? true : false; function showLayer( layer ){ if( ns ){ document.layers[layer].visibility = "show"; } else if( ie ){ document.all[ layer ].style.visibility = "visible"; } else if( ns6 ){ document.getElementById(layer).style.visibility = "visible"; } } function hideLayer( layer ){ if( ns ){ document.layers[layer].visibility = "hidden"; } else if( ie ){ document.all[ layer ].style.visibility = "hidden"; } else if( ns6 ){ document.getElementById(layer).style.visibility = "hidden"; } } //--> (og så selvfølgelig en style, hvor jeg angiver positionerne)
09. januar 2003 - 05:14
#4
ehe lukke???
Vi tilbyder markedets bedste kurser inden for webudvikling