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 sous condition


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de kaizokuni
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 83
    Points : 95
    Points
    95
    Par défaut Afficher une image sous condition
    Salut,
    je voudrais afficher un .gif dans certain cas et pas d'autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function desactiverDeconnexion(){
    	if(window.name != 'modalConsultWindow')
    		<html:img page="/image/coco.gif" border="0" />
    }
    comment doit je faire pour appelé cette fonction? j'ai essayé avec onload en créant un image vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="" heignt="0" width="0" onload="desactiverDeconnexion()">
    mais sa na pas marché

    si quelqu'un a une idée
    Merci

  2. #2
    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
    Non, le onload sur une image correspond à l'événement "l'image a fini de se charger", ce qui ne risque pas d'arriver s'il n'y a pas de src
    En revanche, tu peux mettre le onload sur la balise body.
    Ensuite, ton code JavaScript est mauvais, remplace-le par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function desactiverDeconnexion(){
        if(window.name != 'modalConsultWindow'){
    	document.getElementById('mon_image').src="/image/coco.gif";
        }
    }
    avec :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="" id="mon_image" />

    EDIT :
    Ceci dit, ce n'est pas une bonne méthode non plus, puisque par défaut, ton image n'existe pas...
    Il est préférable soit de mettre un display none au chargement puis éventuellement le faire basculer à inline, soit de créer ton image via le DOM ou l'objet Image de JavaScript, puis de l'insérer dans ta page.

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Oula ^^ plusieurs choses bizarres :

    - un morceau de html brut (<html:img page="/image/coco.gif" border="0" />) dans du code javascript ---> pour une fois que quelqu'un évite d'employer document.write() pour créer du html, c'est bien, mais là il manque quand même quelque chose ^^ (ou bien c'est une syntaxe qui m'est inconnue, ce qui est possible également )

    - ensuite : à quel moment exactement dois-tu appeler cette fonction ? si c'est au chargement de la page, met plutot ta fonction sur le onload de body ou window

    - enfin, simple détail : je ne sais pas si c'est une faute de frappe, mais la propriété height de ton image vide (deuxième extrait) est erronée (heignt).

  4. #4
    Membre régulier Avatar de kaizokuni
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 83
    Points : 95
    Points
    95
    Par défaut
    Merci pour vos réponse, pour étre franc je n'est jamais fait ou trés peut de javascript, je suis amené a en faire dans le cadre de mon travail

    sinon pour onload, j'ai voulu le mettre dans la balise body, mais comme c'est un page jsp avec des balises struts, le body n'est pas déclaré explicitement.

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    ajoute le code suivant à la fin de ton code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.body.onload = desactiverDeconnexion;
    Par contre, ce code va désactiver tout autre gestionnaire d'événement éventuellement prééxistant sur le body de ta page, donc attention : il faudra faire une "vraie" gestion événementielle (avec addEventListener/attachEvent) si besoin est.

  6. #6
    Membre régulier Avatar de kaizokuni
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 83
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message
    ajoute le code suivant à la fin de ton code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.body.onload = desactiverDeconnexion;
    Par contre, ce code va désactiver tout autre gestionnaire d'événement éventuellement prééxistant sur le body de ta page, donc attention : il faudra faire une "vraie" gestion événementielle (avec addEventListener/attachEvent) si besoin est.
    Sa ne marche pas, ce que je souhaite faire exactement c'est que le .gif de deconnexion n'apparaisse pas dans une fenetre fille,

    et je pense qu'il ya d'autre gestionnaire d'évenement

  7. #7
    Membre régulier Avatar de kaizokuni
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 83
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Non, le onload sur une image correspond à l'événement "l'image a fini de se charger", ce qui ne risque pas d'arriver s'il n'y a pas de src
    En revanche, tu peux mettre le onload sur la balise body.
    Ensuite, ton code JavaScript est mauvais, remplace-le par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function desactiverDeconnexion(){
        if(window.name != 'modalConsultWindow'){
    	document.getElementById('mon_image').src="/image/coco.gif";
        }
    }
    avec :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="" id="mon_image" />

    EDIT :
    Ceci dit, ce n'est pas une bonne méthode non plus, puisque par défaut, ton image n'existe pas...
    Il est préférable soit de mettre un display none au chargement puis éventuellement le faire basculer à inline, soit de créer ton image via le DOM ou l'objet Image de JavaScript, puis de l'insérer dans ta page.
    Salut
    j'ai tésté la méthode a bovino, sa n'a pas marché, ce que je ne comprend pas c'est que dans code tu ne fait pas appel a la fonction desactiverDeconnexion() !!!

  8. #8
    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
    Citation Envoyé par kaizokuni Voir le message
    ce que je ne comprend pas c'est que dans code tu ne fait pas appel a la fonction desactiverDeconnexion() !!!

    En revanche, tu peux mettre le onload sur la balise body.
    Ensuite, ton code JavaScript est mauvais, remplace-le par ...
    Effectivement, ce n'était pas dans le code, mais c'était indiqué...
    En revanche, pour ce qui est des événements attachés au onload, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var oldOnLoad = window.onload;
    window.onload = function(){
    desactiverDeconnexion();
    oldOnLoad;
    }

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var oldOnLoad = window.onload;
    window.onload = function(){
    desactiverDeconnexion();
    oldOnLoad;
    }
    ... c'est simple et efficace ^^ j'avoue que je n'y avais jamais pensé

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    et pourquoi ne pas utiliser les propriétés de l'image .complete et onerror ?

    en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="monimage.jpg" onerror="alert('l\'image n\'a pas pu être chargée')">
    ce qui permet en étant couplé a une méthode qui vérifit le image.complete de vérifier si une image est bien chargée ou non ...

    m'enfin moi ce que j'en dit ^^

  11. #11
    Membre régulier Avatar de kaizokuni
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 83
    Points : 95
    Points
    95
    Par défaut
    Le problème est résolu , voila le code que j'ai utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <...... page="/cocoAction.do" styleId="lienDeconnection">
     
    <script type="text/javascript">
    if(window.name != 'modalConsultWindow'){
    document.getElementById('lienDeconnection').innerHTML='<html:img page="/bitmap/div/brand_bt_logout.gif" border="0" />';
    Merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une image sous condition dans Word
    Par SUKINET dans le forum VBA Word
    Réponses: 3
    Dernier message: 29/09/2009, 02h12
  2. Afficher une image sous une condition
    Par SyLvErStOrM dans le forum BIRT
    Réponses: 1
    Dernier message: 08/01/2009, 10h31
  3. afficher une image sous condition dans un etat
    Par gui-llaume dans le forum IHM
    Réponses: 1
    Dernier message: 31/10/2007, 21h53
  4. Afficher une ligne sous condition
    Par gids01 dans le forum iReport
    Réponses: 4
    Dernier message: 25/09/2007, 13h48
  5. Afficher une image sous condition
    Par Chmog dans le forum BIRT
    Réponses: 5
    Dernier message: 28/07/2006, 12h11

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