[javascript] Een dynamische pop up voor een JPG

Pagina: 1
Acties:

  • OnTheJazz
  • Registratie: Juni 2002
  • Laatst online: 07-08 09:12
Hoi iedereen,

Mijn vraag is of het met onderstaand schript ook een fotonaam dmv "(img, alt)" mee kan geven die ook door de check="checkLoaded("'+img+"') heenkomt zonder gek te gaan doen. Ik heb hem bijna zoals ik wil hebben maar een fotonaam (op de plek van: alt) meegeven bij het aanroepen werkt niet lekker.

Doel van het script: klik op een link, geef *.jpg en fotonaam mee en de foto wordt geopend in een pop up. Perfect sluiten t.a.v. de foto.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function openImage(img,alt){
  image= new Image();
  image.src=(img);
  checkLoaded(img,alt);
}

function checkLoaded(img,alt){
  if((image.width!=0)&&(image.height!=0)){
    viewImage(img,alt);
  }
  else{
    check="checkLoaded('"+img+"')";
    interval=setTimeout(check,20);
  }
}

var windowOpened=false;
function viewImage(img,alt) {
  imageWidth=image.width;
  imageHeight=image.height;
  if (windowOpened) newWindow.close();
  newWindow = window.open(img,'','width='+imageWidth+', height='+imageHeight);
  newWindow.document.open();
  newWindow.document.write('<HTML><HEAD><TITLE>'+'alt'+'</TITLE></HEAD>
<BODY bgcolor="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" 
MARGINHEIGHT="0" MARGINWIDTH="0">');
  newWindow.document.write('<IMG SRC="'+img+'" WIDTH="'+imageWidth+'" 
HEIGHT="'+imageHeight+'" ALT="'+''+'">');
  newWindow.document.write('</BODY></HTML>');
  newWindow.document.close();
  newWindow.focus();
  windowOpened=true;
}

Op voorhand dank!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:01

.oisyn

Moderator Devschuur®

Demotivational Speaker

dit is javascript (dus geen java), en hoort derhalve in W&G :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

hier geef je je alt niet meer mee:
code:
1
check="checkLoaded('"+img+"')";

Intentionally left blank


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Welkom op GoT,

Als je de FAQ even had gelezen had je het volgende gelezen:
* Wij tweakers doen elkaar permanent de groeten. Het is dus niet nodig om steeds ruimteverspillende "greetz [user]" of iets dergelijks onder je posts te plakken. Als je per se zoiets wilt kun je daar je signature voor gebruiken.
:)

Verder moet je om je probleem op te lossen van
code:
1
check="checkLoaded('"+img+"')";

maken:
code:
1
check="checkLoaded('"+img+", "+alt+"')";

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • OnTheJazz
  • Registratie: Juni 2002
  • Laatst online: 07-08 09:12
Nope, de oplossing werkt niet. De pop up wordt simpelweg niet geladen op die manier. Klik je voor de tweede keer op de link, dan verschijnt de pop up wel. Dit omdat dan de check niet hoeft uitgevoerd te worden.

Ik heb zelf als alternatief om de "else" van "functionCheckloaded" te laten verwijzen naar de "function openImage" met het risico dat ie blijft loopen. Dit werkt overgens in IE perfect, zelfs als de foto niet bestaat. In dit laatste geval geeft ie gewoon een pop up met een dode image.