Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script Rendimensionnement d'Image

Marche uniquement sous IE... oO

    22 janvier 2009 à 22:33:19

    Hello :)

    J'ai un petit problème concernant un script tout simple que j'utilise pour permettre la visualisation rapide d'une image de grande taille en ligne. Il s'agit d'une pseudo-fonction zoom, en gros une page avec l'image en taille réelle, et au-dessus 2 boutons, l'un pour augmenter la taille d'affichage de 5% par rapport à celle d'origine, l'autre pour la diminuer de 5%.

    <script type="text/javascript">
    <!--
    function Resize(percents)	{
    	var baseWidth = <?php echo $imageWidth; ?>;
    	var baseHeight = <?php echo $imageHeight; ?>;
    	var currentWidth = document.getElementById('full').width;
    	var currentHeight = document.getElementById('full').height;
    	var pixelsWidth = percents * baseWidth / 100;
    	var pixelsHeight = percents * baseHeight / 100;
    	var newWidth = currentWidth + pixelsWidth;
    	var newHeight = currentHeight + pixelsHeight;
    	document.getElementById('full').style.width = newWidth;
    	document.getElementById('full').style.height = newHeight;
    }
    -->
    </script>
    
    <div>
    <button onclick="javascript: Resize(-5);">Zoom -</button>
    <button onclick="javascript: Resize(5);">Zoom +</button>
    </div>
    


    Vous remarquerez d'une part que la fonction utilisée est très "schématique" et simplisme dans le fonctionnement, c'est fait pour clarifier la chose (rien de bien compliqué). J'ai aussi pas encore intégré les vérifications pour que la taille de l'image ne passe pas en dessous des 0px, histoire que le navigateur ne renvoie pas une erreur de Javascript. Enfin, à priori je vois absolument pas en quoi ça pourrait poser problème, mais j'utilise un bout de PHP pour donner à la fonction les dimensions d'origine de l'image (grâce à un getimagesize dans le code d'avant), pour qu'elle calcule le pourcentage à partir de celle-ci.

    Résultat : le script ne marche pas sous FF, Chrome ou encore Safari, en revanche il fonctionne bien sous IE (il renvoie juste une erreur lorsque la taille de l'image deviendrait négative, mais c'est tout).

    Quelqu'un sait d'où ça pourrait bien venir ? oO
    Merci d'avance ! :)
    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2009 à 23:17:30

      Je vois pas pourquoi ça ne marche pas, mais ne t'inquiète pas avec le fonctionnement actuel du script la taille de l'image ne sera jamais inférieure à 0², ça tendra vers cette valeur sans l'atteindre ;) Par contre fixer une valeur min et max peut être intéressant en effet.

      (par contre elle est bizarre ta balise button ;) c'est pas un input normalement ?)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 janvier 2009 à 23:30:37

        <button> est tout a fait valide.

        utilise element.offset[Width|Height] pour récupérer la taille de l'image ou du block image, et il faut spécifier l'unité quand tu assigne une valeur à width, ou height donc rajouter +"px" à la valeur

        :)
        • Partager sur Facebook
        • Partager sur Twitter
          23 janvier 2009 à 0:48:32

          Il suffisait en effet de rajouter l'unité "px" et ça marche parfaitement partout, pas seulement sur IE qui encore une fois visiblement prend quelques libertés par rapport aux normes...

          Merci beaucoup ! :)
          • Partager sur Facebook
          • Partager sur Twitter

          Script Rendimensionnement d'Image

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown