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 :

[AJAX] infobulle AJAX


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de xender
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 93
    Points : 44
    Points
    44
    Par défaut [AJAX] infobulle AJAX
    Bonjour tout le monde,

    J'utilise actuellement une infobulle qui s'afffiche au survol de la souris sur une icone à côté de mes liens.
    Dans cette infobulle je fais apparaitre une capture du site externe provenant de snap.com.
    Mon problème c'est que actuellement toutes ces images sont chargées directement au chargement de la page et je voudrais mettre un script ajax permettant de charger l'image uniquement lors du survole de la souris.

    code d'un lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="bulle" href="http://news.google.fr/" onMouseover="window.status='Actualités';return true;" onMouseout="window.status='';return true;" target="_self"><img src="images/infos.gif" border="0" align="absmiddle" /><span><img class="info_image" src="http://shots.snap.com/preview/?url=http://news.google.fr/&key=756cc3d7e4ec7ef9a12dec2e5991a0ef" /></span></a>
    code CSS :
    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
    28
    29
    30
    31
    a.bulle {
    font-weight:bold;
    margin: 0 2px;
    color: #000000;
    position: relative;
    text-decoration: none;
    }
    a.bulle span {
    display: none;
    }
    a.bulle:hover {
    background: none; /* correction d'un bug IE */
    z-index: 500;
    font-size:13px;
    color:#99CCFF;
    }
    a.bulle:hover span {
    display: inline;
    position: absolute;
    top: 1em;
    left: 1em;
    background-image:url(../images/bulle.png);
    background-repeat:no-repeat;
    text-align: center;
    color: white;
    width:314px;
    height:240px;
    }
    img.info_image {
    margin-top:45px;
    }
    Pour avoir l'aperçu du résultat actuel : http://www.startaccueil.com

    Merci pour votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    pas sûr que ça soit mieux, en utilisation (temps de latence pour les bulles) ...

    Par contre, gérer l'affichage de la bulle en fonction de la proximité du bord de la fenêtre, ça serait pas mal
    Jamais pu voir l'aperçu de CDiscount, par exemple

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre du Club Avatar de xender
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 93
    Points : 44
    Points
    44
    Par défaut
    J'arrive pas à faire une marge à droite pour évité le débordement de mon info bulle.

    Et pourtant sur le site snap.com ils le font en ajax, jtrouve ça plus sympa car l'utilisateur ne veut pas forcement voir ttes les infobulles ce qui évite de les charger tte mais seulement les liens survolé souhaité.

  4. #4
    Membre du Club Avatar de xender
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 93
    Points : 44
    Points
    44
    Par défaut
    une petite aide SVP ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Pour faire cela il faut que tu mette un id à ton image, que tu fasses un getElementById puis que tu passes le chemin de l'image par un appel javascript par exemple, puis que tu fasses ton_image.src=source_image; et là normalement ça devrais charger ton image uniquement au survol.

    donc tu aura quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="bulle" href="http://news.google.fr/" onMouseover="javascript:preview_site('Actualités', 'http://shots.snap.com/preview/?url=http://news.google.fr/&key=756cc3d7e4ec7ef9a12dec2e5991a0ef') ;return true;" onMouseout="window.status='';return true;" target="_self"><img src="images/infos.gif" border="0" align="absmiddle" /><span><img class="info_image" src="" id="preview" /></span></a>
    puis en js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function preview_site(page, image)
    {
      window.status=page;
      document.getElementById("preview").src = image;
    }

  6. #6
    Membre du Club Avatar de xender
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 93
    Points : 44
    Points
    44
    Par défaut
    Super !

    merci beaucoup Gurdil.

    ça marche bien sauf encore un petit bud lorsque les lien on des apostrophe apparement, j'ai éssayé de mettre addslashes en php mais ça ne marche pas :-(

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Donc si tu mets un addslashes en PHP, c'est PHP qui va interpreter les slash, donc une solution consiste à appliquer deux fois la fonction addslashes comme ca la première utilisation est interpretée par PHP et la deuxième série de slash est interpretée par javascript.

    Voila, j'espère que ça pourra t'aider...

Discussions similaires

  1. [AJAX] Utilisation ajax
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/04/2006, 18h48
  2. [AJAX] Source Ajax
    Par Hesiode dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/03/2006, 21h04
  3. [AJAX] Affichage ajax
    Par matique dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/03/2006, 19h28
  4. [AJAX] Utilisation AJAX
    Par topolino dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2006, 09h30
  5. [AJAX] Utilisation AJAX
    Par illegalsene dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 11h55

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