login  Naam:   Wachtwoord: 
Registreer je!
 Forum

plaatje hoog / breed

Offline kenzo - 11/11/2009 16:22 (laatste wijziging 11/11/2009 16:23)
Avatar van kenzoPHP beginner Hallo,

Ik begin een klein beetje javascript te leren, en heb het volgende scriptje gemaakt om te controleren hoe een plaatje is:

breder dan hoog, of hoger dan breed.

Is het breder dan hoog, dan moet de breedte van het plaatje 500px worden, anders moet de hoogte 415px worden.


Het mooie is dat het script werkt, maar alleen een keer.
Het is in een slideshow. De eerste keer checkt hij mooi de waardes en update hij het plaatje, daarna niet meer...


Code
  1. <script>
  2. function timer(){
  3. setTimeout ( checkImgSize, 100 );
  4. setTimeout ( timer, 1000 );
  5. }
  6. function checkImgSize(){
  7. if(document.getElementById('ss_img').width > document.getElementById('ss_img').height){
  8. document.getElementById('ss_img').width = 500;
  9. alert (""+ ss_img);
  10. }
  11. if(document.getElementById('ss_img').height > document.getElementById('ss_img').width){
  12. document.getElementById('ss_img').height = 415;
  13. alert ("hoger dan breedt");
  14. }
  15. }
  16. </script>


  1. <body onload='timer();'>


Voorbeeld (nu nog met alert)
http://www.sham...s/zaak.php

2 antwoorden

Gesponsorde links
Offline BramBo - 11/11/2009 19:42
Avatar van BramBo JS gevorderde In principe werkt je code, alleen is het event dat je hiervoor gekozen hebt niet helemaal geschikt(hoewel de eerste keer window.onload prima is).

Hier is 'n ander manier om de functie op te stellen, welke ook werkt met window onload. Het enige wat je eigenlijk nog in jou voorbeeld dient te doen is de timer weg gooien en aan de onchange een extra handler hangen.

  1. window.onload = function() { checkImgSize(); }
  2.  
  3. function checkImgSize(){
  4. imgDiv = document.getElementById('ss_img');
  5. divWidth = imgDiv.width;
  6. divHeight = imgDiv.height;
  7.  
  8. (divWidth > divHeight)
  9. ? (function(){imgDiv.width = 500;})()
  10. : (function(){imgDiv.height = 415;})();
  11. }


  1. <select id="ss_select" name="ss_select" onChange="ss.goto_slide(this.selectedIndex)">


zul je dus nog moeten veranderen, bijvoorbeeld:
  1. <select id="ss_select" name="ss_select" onChange="ss.goto_slide(this.selectedIndex); checkImgSize();">
Offline kenzo - 12/11/2009 09:13 (laatste wijziging 12/11/2009 09:18)
Avatar van kenzo PHP beginner ik heb 2 probleempjes...

- hij doet nog hetzelfde (de eerste keer werkt het goed, daarna niet meer

- Als ik op play klik dan gaat hij automatisch spelen. Ik kan de checkImgSize uitvoeren, maar dit gebeurt dan alleen als ik op de button klik. Bij de volgende foto zal hij het niet meer uitvoeren dan


ik heb even wat geprobeerd, maar alles werkt totdat een plaatje hoger dan breed is... dan werkt het voor beide mogelijkheden niet meer?

Voorbeeld: http://www.sham...s/zaak.php
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s