login  Naam:   Wachtwoord: 
Registreer je!
 Forum

jQuery height en width werkt niet (Opgelost)

Offline valles10 - 12/09/2010 12:38 (laatste wijziging 12/09/2010 12:39)
Avatar van valles10HTML interesse Ik ben al een tijdje bezig met het maken van een forum. Na vele bug fixes heb ik er nog enkele over... een van die bugs is dat heel mijn content meerekt als er een image breder is dan 700px. Ik heb het volgende scriptje geschreven:

  1. function resize(){
  2. $("img.resize").each(function(intIndex){
  3. alert('img resize loaded');
  4. var maxH = 2000;
  5. var maxW = 700;
  6. var H = $(this).height();
  7. var W = $(this).width();
  8. alert('Height: '+H+' width: '+W);
  9.  
  10. if(W > maxW){
  11. var fW = 1-((W - maxW) / W);
  12. $(this).width(W* fW);
  13. alert('breedte van afbeelding veranderd!');
  14. }
  15.  
  16. if(H > maxH){
  17. var fH = 1-((H - maxH) / H);
  18. $(this).height(H* fH);
  19. alert('hoogte van afbeelding veranderd!');
  20. }
  21. });
  22. }

Met dit zal elke image die via ubb de classe .resize heeft megekregen resized moeten worden. Het enige probleem dat ik nu nog heb, is dat mijn hoogte en breedte niet worden verwerkt...
alert('Height: '+H+' width: '+W); krijg ik een alert met 'Height: 0 width: 0' terug.

Iemand idee hoe dit komt? of wat ik verkeerd doe?

6 antwoorden

Gesponsorde links
Offline Kevin - 13/09/2010 16:29
Avatar van Kevin Crew Ajax/REST Je hoeft niet alles met jQuery te doen daarom :-)

probeer eens native JS: $(this).height

Als ik mij niet vergis gaat jQuery die berekening op basis van de CSS stylen doen en native zou dit niet gebeuren.
Offline valles10 - 13/09/2010 17:38
Avatar van valles10 HTML interesse Thnx voor reactie! maar ik had dit ook eerder al geprobeert...
maar dan kreeg ik gewoon de functie height in mijn alert gekregen... dus de code van height...
Offline lemoinet - 13/09/2010 18:16
Avatar van lemoinet PHP gevorderde hoe implementeer je dit script in je website. want bij werkt dit script perfect.
Offline valles10 - 13/09/2010 18:54 (laatste wijziging 13/09/2010 19:03)
Avatar van valles10 HTML interesse Gewoon in mijn jsBase.js file, waar de rest van mijn javascript ook staat...
Ik krijg mijn alert hoor... hij wil gewoon die width() en height() van die image niet laden...

ik heb geprobeert een 'uniek' ID mee te geven met de IMG, maar zelfs dan wil die height niet werken...

de image komt van zo'n ubb parser, de ubb parser genereert dit:
  1. $number = rand(0, 99999999);
  2. return "<img class=\"resize\" id=\"".$number."\" src = '" . htmlspecialchars( $content ) . "' alt = '" . htmlspecialchars( $alt ) . "' style = '" .
  3. ( $float !== false ? "float:" . $float . ";" : "" ) .
  4. ( $width !== false ? "width:" . $width . "px;" : "" ) .
  5. ( $height !== false ? "height:" . $height . "px;" : "" ) .
  6. ( $border !== false ? "border:" . $border . ";" : "" ). "'>";
Offline Kevin - 13/09/2010 19:05 (laatste wijziging 13/09/2010 19:07)
Avatar van Kevin Crew Ajax/REST Heb je code zelf ook eens geprobeerd op jsbin ( http://jsbin.com/iseho4 ) en bij mij werkt het ook. Ik heb hier de laatste versie van jQuery gebruikt.

Wat ik ook gedaan heb, is op mijn img tag de attributen height en width meegegeven.

Als je dit niet doet dan blijven ze 0 blijkbaar.
Doe jij dit ook zo?

Edit: even te snel gepost, volgens jouw code geef je geen height en width attributen mee aan je img tag.
Bedankt door: valles10
Offline valles10 - 13/09/2010 19:22
Avatar van valles10 HTML interesse Idd! dat was het probleem dus! Ik heb dus bij mijn parser via PHP.net: getimagesize de formaten van de images opgehaald, en ze zo in de <img> tags gezet 

js:
  1. function resize(){
  2. $("img.resize").each(function(intIndex){
  3. var maxW = 700;
  4. var H = $(this).height();
  5. var W = $(this).width();
  6.  
  7. if(W > maxW){
  8. var fW = 1-((W - maxW) / W);
  9. $(this).width(W* fW);
  10. $(this).height(H* fW);
  11. }
  12. });
  13. }


php:
  1. list($width_f, $height_f, $type_f) = getimagesize( htmlspecialchars( $content ) );
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s