[JS] Waarde wordt te groot bij optellen.

Pagina: 1
Acties:

  • AuC
  • Registratie: Januari 2003
  • Laatst online: 10-07 15:00
Hey luitjes,

Ik ben vandaag eens begonnen aan een tutorial OpenGL. Nu wil ik dat, als de lezer op een plaatje klikt, er een popup verschijnt met dat plaatje in het groot. Okay, ik heb de popup voorelkaar. Maar nu krijg ik het probleem dat als ik 22 bij de opgegeven grootte van het plaatje optel (om het plaatje in het midden van de popup te laten komen) de popup véél te groot wordt.

Ik heb het volgende script:

code:
1
2
3
4
5
6
7
<script language="JavaScript">
function DoPopup(img, width, height) {
    width+=22;
    height+=22;
    window.open(img,'TutPopup','width=' + width + ',height=' + height);
};
</script>


Iemand enig idee wat ik fout doe? (ik ben een n00b op JavaScript gebied).

Bvd
AuC

[ Voor 19% gewijzigd door AuC op 24-08-2003 23:46 ]


Verwijderd

javascript hoort thuis in het webdesign forum.

  • AuC
  • Registratie: Januari 2003
  • Laatst online: 10-07 15:00
Ok, sorry. Ik zat al te twijfelen...

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

vergelijk:

JavaScript:
1
2
3
4
5
var a = 10;
var b = '10';

var c = a+10; // 20
var d = b+10; // '1010';


leuk he? ;)

je geeft de argumenten voor hoogte en breedte dus ws als string door, in plaats van als integers

trouwens: waarom die 22? de standaard margin voor een lege pagina kan van browser tot browser verschillen. Mooier is een html pagina te openen die geen margins heeft, en je plaatje als argument meegeven aan die pagina, die 'm dan bv met javascript erin kan 'schrijven'. Met een serverside-taal wordt dit zelfs nog een stuk makkelijker...

[ Voor 73% gewijzigd door crisp op 24-08-2003 23:55 ]

Intentionally left blank


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Dit is voor voor de specialisten in W&G :)

Verwijderd

Misschien dat parseInt werkt?
JavaScript:
1
2
3
4
5
function DoPopup(img, w, h) {
    w = parseInt(w) + 22;
    h = parseInt(h) + 22;
    window.open(img,'TutPopup','width=' + w + ',h=' + height);
}

Edit:
  • geen ; achter functie-declaraties
  • zijn width en height geen gereserveerde woorden? Beter kies je andere variabelenamen

[ Voor 36% gewijzigd door Verwijderd op 25-08-2003 12:15 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 25 augustus 2003 @ 11:58:
Misschien dat parseInt werkt?
JavaScript:
1
2
3
4
5
function DoPopup(img, w, h) {
    w = parseInt(w) + 22;
    h = parseInt(h) + 22;
    window.open(img,'TutPopup','width=' + w + ',h=' + height);
};
da's symptoonbestrijding; je kan toch gewoon je argumenten al als integers meegeven?
waarom maak je w en h nu eigenlijk global?

trouwens, als je parseInt gebruikt; geef dan ook even het getalstelsel op:
JavaScript:
1
2
var w= parseInt('010') + 22;   // 30
var h = parseInt('010', 10) +22;   // 32


;)

Intentionally left blank


Verwijderd

crisp schreef op 25 augustus 2003 @ 12:02:da's symptoonbestrijding; je kan toch gewoon je argumenten al als integers meegeven?
Da's waar, maar voor hem minder makkelijk te implementeren?
waarom maak je w en h nu eigenlijk global?
Huh? w en h zijn toch argumenten dus niet global?
trouwens, als je parseInt gebruikt; geef dan ook even het getalstelsel op:
You're so right :o

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 25 August 2003 @ 12:17:
[...]

Da's waar, maar voor hem minder makkelijk te implementeren?
mogelijk, maar misschien ook niet ;)
[...]

Huh? w en h zijn toch argumenten dus niet global?
|:(

Intentionally left blank

Pagina: 1