IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

afficher une image dimension réelle


Sujet :

JavaScript

  1. #1
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut afficher une image dimension réelle
    Bonjour
    j'ai réalisé un catalogue avec une base de données. La table adéquate possède un champ image. les images sont dans un fichier nommé photos, elles sont de taille normal 400 x 350
    j'ai réalisé une requête pour afficher ces images avec un espace réservé de l'image qui fait 160 x 135
    j'ai donc une petite image dans la catalogue, je voudrais au clique ou au passage de la souris sur l'image faire apparaître l'image normal, pour plus de vision pour l'internaute.
    lien catalogue:
    http://galaxyweb.free.fr/catalogue.php?id_menu=13
    le code php qui affiche l'image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <td><div align="center"><img src="photos/<?php echo $row_cat['photo']; ?>" width="160" height="135" alt="" /></div></td>
    j'ai des problèmes pour réaliser la modification souhaitée avec le code php ci-dessus
    Merci si vous avez une idée

  2. #2
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    c'est un script qui affiche l'image agrandi au centre de l'écran.

  3. #3
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    ce script fonctionne , mais le placement du zoom est très différent selon les navigateurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <SCRIPT LANGUAGE="JavaScript">
    // conteneur de l'image zoomée
    document.write('<div id="div_zoom_image" style="position:absolute; visibility:hidden; left:-286px; top:0px; z-index:1000">');
    document.write('<img id="img_zoom_image" src="" style="position:absolute; left:385px; top:400px; z-index:2000;" />');
    document.write('</div>');
    // affiche l'image au niveau du curseur
    function overImage(imgUrl) {
        document.getElementById("div_zoom_image").style.visibility = "visible";
        document.getElementById("img_zoom_image").src = imgUrl;
        document.onmousemove = moveImage;
    }
    // masque l'image
    function outImage() {
        document.getElementById("div_zoom_image").style.visibility = "hidden";
        document.getElementById("img_zoom_image").src = "";
        document.onmousemove = "";
    }
    // permet d'afficher l'image lorsque la souris bouge dans l'image
    function moveImage(event) {
        // position
        var x = event.pageX + 5;
        var y = event.pageY + 5;
        // placement
        document.getElementById("div_zoom_image").style.left = x + "px";
        document.getElementById("div_zoom_image").style.top = y + "px";
    }
    </SCRIPT>
    html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <img src="photos/<?php echo $row_cat['photo']; ?>"width="165" height="135"
            onmouseover="overImage('photos/<?php echo $row_cat['photo']; ?>')";
            onmouseout="outImage();" />

  4. #4
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    si je modifie le script à ce niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    / conteneur de l'image zoomée
    document.write('<div id="div_zoom_image" style="position:absolute; visibility:hidden; left:-286px; top:0px; z-index:1000">');
    document.write('<img id="img_zoom_image" src="" style="position:absolute; left:5px; top:5px; z-index:2000;" />');
    document.write('</div>');
    c'est ie seulement qui pose problème

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    bonjour,

    personnellement je tique quand je vois des document.write() dans un code javascript

    L'idéal serait de placer en dehors du flux de ta page un div (en float ou en position:absolute) avec une balise img. Ce div serait cahcé dans un premier temps (display:none).
    Lorsque tu cliques sur l'image que tu souhaites agrandir, tu affiches ce div (display:block) et tu précises le paramètre src de la balise img. Tu vois ce genre de choses dans de nombreux sites.

    Il est fort probable que tu trouveras des exemples dans les tutoriels CSS, Javascript ou dans le forum "Contribuez"

  6. #6
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    je n'ai pas trouvé de script ou tuto pour cet exemple qui me plait, avez-vous une idée?

  7. #7
    Invité
    Invité(e)
    Par défaut
    dans le script le probleme vient de la facon de detecter la position de la souris voit de cette facon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function moveImage(e) {
        // position
     	var dde=(navigator.vendor) ? document.body : document.documentElement;
    e =(!e) ? window.event : e;
    	var x =e.clientX + dde.scrollLeft;
    	var y =e.clientY + dde.scrollTop;
        // placement
        document.getElementById("div_zoom_image").style.left = x + "px";
        document.getElementById("div_zoom_image").style.top = y + "px";
    }

  8. #8
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    Merci mekal
    çà fonctionne, la preuve:
    http://galaxyweb.free.fr/catalogue.php?id_menu=13
    une question avec ce script pourrais-on faire apparaît l'image agrandie en cliquant dessus au lieu de passer la souris ?

  9. #9
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    une question, comment modifier mon code html pour faire apparaître l'image agrandie au clic onclick, au lieu de onmouseover:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <img src="photos/<?php echo $row_cat['photo']; ?>"width="165" height="135"
            onmouseover="overImage('photos/<?php echo $row_cat['photo']; ?>')";
            onmouseout="outImage();" />
    je patauge, Merci

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est une plaisanterie ?
    Une caméra cachée ?


    au clic onclick, au lieu de onmouseover
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <img src="photos/<?php echo $row_cat['photo']; ?>"width="165" height="135"
            onmouseover="overImage('photos/<?php echo $row_cat['photo']; ?>')";
            onmouseout="outImage();" />

  11. #11
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    368
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 368
    Points : 289
    Points
    289
    Par défaut
    le script ne peut pas fonctionner en modifiant le code html?

Discussions similaires

  1. [debutant]Afficher une image en choisissant ses dimensions
    Par Romain93 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/11/2006, 03h19
  2. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51
  3. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59
  4. Réponses: 2
    Dernier message: 04/02/2004, 22h32
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo