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 puis faire disparaître une image


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut Afficher puis faire disparaître une image
    Bonjour à tous,

    J'aurai besoin de votre aide au sujet de javascript.

    Je veux modifier une page .php pour :

    Afficher une image qui lorsque l'on clique dessus, permet d'ouvrir une page web et disparaît en même temps. Le fait de cliquer sur cette image, permettra d'afficher une zone de texte cacher derrière l'image. Dans cette zone de texte serait affiché une valeur que je récupèrerai de ma base de donnée.

    Auriez-vous une idée de comment procéder ? Aussi ce que je n'arrive pas à comprendre c'est comment de ma page .php je dois à faire appel à une fonction en javascript et lui dire où elle se trouve ?

    Merci par avance pour votre aide
    David

  2. #2
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Salut

    apparemment tu débutes en JavaScript. Ton besoin fais appel à plusieurs notions de JS : évènement pour l'action sur le clic, AJAX pour la récupération de la valeur.

    Je te conseille donc de lire ce cours : http://javascript.developpez.com/tut.../introduction/ , sans quoi tu vas vite être perdu

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut
    Merci

    Je viens de lire la documentation.

    Je pars dans cette direction, qu'en pensez vous ? :

    C:\images\mon_image.png
    C:\mon_site\js\mon_script.js

    Donc dans ma page php, je ferai appel à une fonction qui sera présente dans mon_script.js, dois-je placer le "onClick" dans la page .php ou bien dans le mon_script.js ?

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    la page html envoyée au client doit contenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <head>
        ...
        <script type="text/javascript" src="js/mon_script.js"></script>
        ...
    </head>
    c'est aussi sur ton élément html que tu dois ajouter le onclick. Si ton html est dans ton fichier php, c'est bien là que tu dois le mettre

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par david252 Voir le message
    dois-je placer le "onClick" dans la page .php ou bien dans le mon_script.js ?
    Citation Envoyé par Sharcoux Voir le message
    c'est aussi sur ton élément html que tu dois ajouter le onclick. Si ton html est dans ton fichier php, c'est bien là que tu dois le mettre
    Tant qu'à apprendre les bases, autant faire les choses bien

    Pour placer des événements sur des éléments de ta page, 3 solutions :

    1) directement dans le HTML, par exemple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="divMachin" onclick="alert('rouge');">bla bla</div>
    >>> problème : c'est carrément à contre-courant du principe de séparation "contenus/mise en forme/comportements", ça peut poser des soucis de compatibilité entre navigateurs, et c'est une galère à maintenir

    2) dans ton code JS, en utilisant les propriétés des éléments DOM :
    a) soit entre balises script sur la page (inconvénients : quasiment les mêmes que la solution 1)
    b) soit dans un fichier JS à part appelé depuis le head de la page.

    En tout cas dans ces deux cas (a et b), tu auras quelque chose comme :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var elem = document.getElementById("idDeTonElement");
    elem.onclick = function() {
       alert("à la bombe");
    };
    Mais ce n'est pas idéal non plus dans certains cas de figure. Notamment, si d'autres événements ont été ajoutés de cette manière à l'élément sur le même déclencheur, il y aura écrasement de la première fonction par la seconde. Ca se produit le plus souvent avec des fonctions appelées au démarrage sur window.onload par exemple...

    3) avec de vrais gestionnaires d'événement

    IE :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function traitementClic(e) {
       // ici, le code à exécuter quand l'événement se produit.
       // "e" est une référence à l'objet (de type Event) correspondant
    }
    var elem = document.getElementById("idDeTonElement");
    elem.attachEvent("onclick", traitementClic);
    FF et les autres :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function traitementClic(e) {
       // ici, le code à exécuter quand l'événement se produit.
       // "e" est une référence à l'objet (de type Event) correspondant
    }
    var elem = document.getElementById("idDeTonElement");
    elem.addEventListener("click", traitementClic, false);
    version cross-browser :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function traitementClic(e) {
       // ici, le code à exécuter quand l'événement se produit.
       // "e" est une référence à l'objet (de type Event) correspondant
    }
    function addEvent(cible, condition, effet) {
       if (cible.addEventListener) {
          cible.addEventListener(condition, effet, false);
       }
       else if (cible.attachEvent) {
          cible.attachEvent("on" + condition, effet);
       }
    }
    var elem = document.getElementById("idDeTonElement");
    addEvent(elem, "click", traitementClic);

    Enfin, grosso modo, hein ^^

Discussions similaires

  1. Faire bouger, apparaître et disparaître une image en vba
    Par patrick.iribarne dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/04/2015, 17h09
  2. [Objective-C] comment afficher dans un scrollview une image ou une vidéo puis du texte?
    Par Seelass dans le forum Objective-C
    Réponses: 0
    Dernier message: 17/07/2012, 15h55
  3. comment faire apparaitre une image puis une autre si quête réalisée ?
    Par oceanne dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/05/2007, 21h47
  4. [css] Faire d'une image un lien
    Par Ace_Denghar dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/09/2005, 12h38
  5. [VB.NET] [WinForms] Afficher un rectangle sur une image
    Par Noodles dans le forum Windows Forms
    Réponses: 3
    Dernier message: 20/12/2004, 10h36

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