Avatar billede danm Nybegynder
09. april 2008 - 16:01 Der er 4 kommentarer og
1 løsning

Mit fade script virker kun 1gang i IE7 men hver gang i firefox

Hej

Jeg har langt om længe fået lavet et "modal dialog" script til min hjemmeside. Jeg har endda også fået tilføjet en fin fade in i baggrunden, hver gang popup vinduet vises. Men af en eller anden grund virker baggrundsfadet kun 1. gang i IE 7, og derefter fader den ikke men popup vinduet vises godt nok som det skal og baggrundslayeret vises også (det som blokerer knapper og links på siden). Når jeg så kører det samme script i Firefox virker det hver gang.
Der kommer ikke nogen fejl besked eller noget, så der er ikke en direkte fejl tror jeg..

Men her er min function. parametren popup er det popuplayer som viser beskeden. popupback, er det layer som lægges over hele baggrunden når popupet vises.

function vis_popup (popup) {
  var p=document.getElementById('popupback');
  p.style.background = "#999999"
  p.style.display = "none";
  p.style.width = "100%";
  p.style.height = document.documentElement.scrollHeight + "px"; 
  p.style.position = "absolute";
  p.style.top = "0px";
  p.style.left = "0px";
  p.style.opacity = 0;
  p.style.filter = "alpha(opacity='0')";
  p.style.display = "";
  p.style.visibility = "visible";
  fade_in(0);
  document.getElementById(popup).style.visibility = "visible";
  indstilpopupdiv(popup) // her centreres popuplaget midt på siden!
};
function fade_in (opa) {
  var p = document.getElementById('popupback');
  opa = opa + 10
  p.style.opacity = opa/100
  p.style.filter = "alpha(opacity='" + opa + "')";
  alert( p.style.opacity + "," + p.style.filter);
  if (opa <= 60) {
    setTimeout('fade_in(' + opa + ')',10);
  }
};

Jeg har smidt alert functionen ind i fade_in, for at tjekke om værdierne bliver sat, og det gør de. Men det vises bare ikke )o=

Nogen der har et forslag til hvad der er galt??
Avatar billede w13 Novice
09. april 2008 - 16:05 #1
Kan vi se et link til koden i funktion?
Avatar billede danm Nybegynder
09. april 2008 - 16:20 #2
med link mener du så hvordan den kaldes?

Det er bare igennem en knap med et onclick event:

<input type="button" name="button" id="button" value="Submit" onclick="vis_popup('toppingdiv')" />

hvor toppingdiv er den layer som jeg bruger til popup
Avatar billede danm Nybegynder
09. april 2008 - 16:32 #3
hm.. ved at prøve mig frem med nogle underlige ting, viste det sig at ved at flytte

p.style.visibility = "visible";

op før

p.style.opacity = 0;

Så virker det?? Dette forstår jeg ikke... Men jeg har også altid syntes IE var underlig..
Avatar billede w13 Novice
09. april 2008 - 17:27 #4
:) Det er da godt, det virker.

Du kan lukke spørgsmålet igen ved selv at oprette et svar, som du accepterer. Så får du også pointene igen.
Avatar billede danm Nybegynder
09. april 2008 - 18:03 #5
yeps..
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester