/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hjælp til popup vindue der skal forsvinde ~
Fra : Johnny Kristiansen


Dato : 15-01-06 20:51

Hej,

Jeg håber at jeg er havnet i den rigtige gruppe med dette spørgsmål,
ellers må i lige sige til.

Jeg har lavet et "lag" som jeg ønsker skal vises i 2 sek. når jeg
klikker på et link. Herefter skal "laget" forsvinde og siden hvor jeg
klikkede på linket skal reloade.

Jeg har følgende kode:

<style type="text/css">
body, td { font-family: verdana, arial, helvetica, sans-serif;
   font-size: 12px; }
h1   { font-size: 16px; }
h2   { font-size: 14px; }
a:link { color:#33c }
a:visited { color:#33c }
/* excludes ns4 and other older browsers */
@media all {
   h1,   h2, p { margin:0 0 .8em 0 }
}

/* Specifications for container for layers to show/hide.
    Most browsers need both width and height set. */
#container   { position:relative; width:380px; height:220px; z-index:100
}
/* Include id's for all your layers here, with commas between. */
#lyr2 {
   position:absolute; visibility:hidden; left:400; top:270; z-index:1 }
</style>

<script type="text/javascript">
<!--
var origWidth, origHeight;
if (document.layers) {
   origWidth = window.innerWidth; origHeight = window.innerHeight;
   window.onresize = function() { if (window.innerWidth != origWidth ||
window.innerHeight != origHeight) history.go(0); }
}

function hideLayer(id) {
var lyr = getElemRefs(id);
if (lyr && lyr.css) lyr.css.visibility = "hidden";
}

function showLayer(id) {
var lyr = getElemRefs(id);
if (lyr && lyr.css) lyr.css.visibility = "visible";
setTimeout("hideLayer('" + id + "')",2000);
location.reload(true);
}

function getElemRefs(id) {
   var el = (document.getElementById)? document.getElementById(id):
(document.all)? document.all[id]: (document.layers)?
getLyrRef(id,document): null;
   if (el) el.css = (el.style)? el.style: el;
   return el;
}

// get reference to nested layer for ns4
// from old dhtmllib.js by Mike Hall of www.brainjar.com
function getLyrRef(lyr,doc) {
   if (document.layers) {
      var theLyr;
      for (var i=0; i<doc.layers.length; i++) {
       theLyr = doc.layers[i];
         if (theLyr.name == lyr) return theLyr;
         else if (theLyr.document.layers.length > 0)
       if ((theLyr = getLyrRef(lyr,theLyr.document)) != null)
               return theLyr;
    }
      return null;
}
}
// -->
</script>

Mit link ser sådan ud:
<a href="#" onClick="showLayer('lyr2'); return false">Vis mit popup
vindue i 2 sek.</a>

Når jeg klikker på linket popper vinduet fint op forsvinder efter 2
sek. hvis jeg fjerner linjen "location.reload(true);" i funktionen
"showLayer(id)", men sætter jeg linjen ind for jeg fejlen "Object
Expected".

Jeg tester pt. i IE6, men vil jo gerne have at det virker i de mest
benyttede browser.

Håber der er nogen der kan hjælpe mig med at løse dette problem.

På forhånd tak.

Med venlig hilsen
Johnny Kristiansen - Frederiksberg


 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste