Gå til innhold

Lukke "popup" boks med java


Anbefalte innlegg

Skrevet

Hællæ,

 

Har følgende kode som åpner en popupboks;

 

<a href="hjelp/navn.php" onClick="return show_hide_box(this,150,170,'2px #AEF303 dotted')">

 

Selve koden er;

 

function move_box(an, box) {
 var cleft = 0;
 var ctop = 0;
 var obj = an;
 while (obj.offsetParent) {
   cleft += obj.offsetLeft;
   ctop += obj.offsetTop;
   obj = obj.offsetParent;
 }
 box.style.left = cleft + 'px';
 ctop += an.offsetHeight + 8;
 if (document.body.currentStyle &&
   document.body.currentStyle['marginTop']) {
   ctop += parseInt(
     document.body.currentStyle['marginTop']);
 }
 box.style.top = ctop + 'px';
}

function show_hide_box(an, width, height, borderStyle) {
 var href = an.href;
 var boxdiv = document.getElementById(href);

 if (boxdiv != null) {
   if (boxdiv.style.display=='none') {
     move_box(an, boxdiv);
     boxdiv.style.display='block';
   } else
     boxdiv.style.display='none';
   return false;
 }

 boxdiv = document.createElement('div');
 boxdiv.setAttribute('id', href);
 boxdiv.style.display = 'block';
 boxdiv.style.position = 'absolute';
 boxdiv.style.width = width + 'px';
 boxdiv.style.height = height + 'px';
 boxdiv.style.border = borderStyle;
 boxdiv.style.backgroundColor = '#fff';

 var contents = document.createElement('iframe');
 contents.scrolling = 'no';
 contents.frameBorder = '0';
 contents.style.width = width + 'px';
 contents.style.height = height + 'px';
 contents.src = href;

 boxdiv.appendChild(contents);
 document.body.appendChild(boxdiv);
 move_box(an, boxdiv);

 return false;
}

 

Dette funker glimrende, eneste som jeg ønsker er en knapp i den popup boksen som kan lukke selve popupen. Slik det er nå kan jeg trykke på den samme linken igjen så lukker den seg. Men har prøvd med window.close på selve boksen og får det ikke til å fungere.

 

Forslag ?:)

Videoannonse
Annonse
Skrevet (endret)

Jeg er veldig sikker på at du må bruke self.close()

<input type="button" value="Jeg er ferdig" onclick="self.close()" />

 

Jeg skrev en gang et JS som kunne lukke vinduer som ikke var åpnet av scripts.... må se om jeg finner det igjen...

Endret av Kagee
Skrevet
Jeg er veldig sikker på at du må bruke self.close()

<input type="button" value="Jeg er ferdig" onclick="self.close()" />

 

Jeg skrev en gang et JS som kunne lukke vinduer som ikke var åpnet av scripts.... må se om jeg finner det igjen...

8177044[/snapback]

Tusen takk hvis du kan finne den, trenger det sårt til min side. Får det rett og slett ikke til. Prøvde også self.close()

Skrevet

Å... Ops.... Jeg leste vist ikke koden din helt..... Dette er ikke et vanlig popupvindu slik som javascript lager med window.open, men et vindu som ligger "oppå" siden.....

 

Du kan prøve

<input type="button" value="lukk" onclick="document.boxdiv.style.display='none'" />

Skrevet
Å... Ops.... Jeg leste vist ikke koden din helt..... Dette er ikke et vanlig popupvindu slik som javascript lager med window.open, men et vindu som ligger "oppå" siden.....

 

Du kan prøve

<input type="button" value="lukk" onclick="document.boxdiv.style.display='none'" />

8184362[/snapback]

Uff, nei. Har prøvd en del nå, vurderer snart å gå over til vanlig poppegreier men synes det kler siden bedre slik det er nå. Så tar gjerne imot flere tips, hvis du vil se det i action kan du sjekke denne linken

 

http://bliz.h-base.org/beta/index.php?side...d=1&um=bestille

 

Bruker det når man trykker på de grønne hjelp bildene :)

Skrevet

Legg til noe slikt som dette:

boxdiv.onclick = function () {this.style.display='none';};

Sammen med alle de andre boxdiv tingene i show_hide_box() så burde det hjelpe.

Skrevet
Legg til noe slikt som dette:

boxdiv.onclick = function () {this.style.display='none';};

Sammen med alle de andre boxdiv tingene i show_hide_box() så burde det hjelpe.

8197323[/snapback]

Tusen takk, prøvde slik;

 

boxdiv = document.createElement('div');
 boxdiv.setAttribute('id', href);
 boxdiv.style.display = 'block';
 boxdiv.style.position = 'absolute';
 boxdiv.style.width = width + 'px';
 boxdiv.style.height = height + 'px';
 boxdiv.style.border = borderStyle;
 boxdiv.style.backgroundColor = '#fff';
 boxdiv.onclick = function () {this.style.display='none';};

Sammen med de to kodene tidligere oppe her. Men fungerte fremdeles ikke. :(

  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...