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 :

Préchargement image suite à un rollover + clik


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut Préchargement image suite à un rollover + clik
    Bonsoir,

    J'ai utilisé une méthode en CSS pour reproduire l'effet de rollover sur un bouton de menu. Mon rollover marche très bien, aucun effet de chargement, tout va bien. Mais j'aimerai que lorsque l'on clique sur le bouton, l'état de survol du bouton reste actif. Cela, vous vous en doutez, pour que l'internaute puisse savoir dans quelle rubrique il se trouve.

    Hors lorsque je clique sur mon bouton, il y a un petit delais de chargement de l'image qui est visible et donc non esthetique. Pour pallié à ce probleme j'ai mit l'image en dur dans le code html mais rien n'y fait le temps de chargement reste le même.

    Voici les sources pour l'apparition de l'image lors du clique de l'utilisateur :

    (X)HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <li class="agence-on"><img src="images/bt-agence-on.gif" alt="Rubrique agence" width="30" height="300" /></li>


    CSS :
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    li.agence-on{background: url(../images/bt-agence-on.gif) no-repeat 0 0;width : 30px ; height : 300px ; margin : 0 0 0 1px ;display : block;}


    Merci d'avance

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Tu appelles 2 fois l'image : dans le CSSet le HTML, ça ne peut pas venir de là ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    euh non j'avai lu qu'il était utile de mettre l'image en brut dans le html pour réduire le temps de chargement de l'image (l'image étant alors préchargée dans le navigateur) mais que la mette en brut ou pas sa ne change rien.

    Je vais vous envoyer le lien, peut-être que ce sera plus parlant.

    http://agence.avalone.free.fr

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 347
    Points
    16 347
    Par défaut
    Ce clignotement est un problème propre à IE, il faut précharger tes images au préalable (et encore ce n'est pas dit que ça fonctionne correctement).

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="MM_preloadImages('images/tonimage1.jpg','images/tonimage2.jpg',...)">

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function MM_preloadImages(){
       var d=document;
       if(d.images){
          if(!d.MM_p)
             d.MM_p = new Array();
          var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
          for(i=0; i<a.length; i++)
             if (a[i].indexOf("#")!=0){
                d.MM_p[j]=new Image;
                d.MM_p[j++].src=a[i];
             }
       }
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Bien, merci pour la réponse (et disoulé d'avoir mal placé le sujet).

    Je testerai ceci ce soir étant donné qu'au taff...pour ne je sait quelle raison je n'ai plus ce problème de clignotement alors que je vide constamment mon cache IE et FF...étrange lol

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    Bonjour,

    Il existe une autre solution,
    Code à ajouter juste avant le menu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="images.jpg" style="display:none">
    Au chargement de la page, l'image(s) est automatiquement chargée.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    J'avai déjà essayé cette méthode il me semble mais pas en préchargeant les images en dehors du menu.

    J'essayerai vos solutions dès ce soir.

    Merci encore

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Je viens de tester la méthode du JS qui ne change rien sous IE :s et pareil pour le display:none sur les images en brut :s

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    Citation Envoyé par Oli78
    pareil pour le display:none sur les images en brut
    c'est bizard... parce que je l'utilise actuellement et ça fonctionne très bien.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    hum, ton idée est bien de préchargé l'image en dehors du menu n'est ce pas ?

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="cont"> 
      <img src="images/bt-agence-on.gif" alt="Rubrique accueil" width="30" height="300" style="display:none"/>
      <ul id="menu">    
        <li><a href="agence.html" class="agence" title="Acc&eacute;dez &agrave; la page agence"></a></li>
        ...
      </ul>
    </div>

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!-- précharge une image -->
    <img src="image_over.gif" style="display:none">
    <a href="#" border="0" onmouseover="this.style.background='url(image_over.gif)'" onmouseout="this.style.background='url(image.gif)'">bouton</a>

Discussions similaires

  1. Problème préchargement image
    Par BkD35 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 15/04/2007, 19h26
  2. image suit taille fenêtre
    Par skip78 dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 22/11/2006, 06h48
  3. [newbie en CSS] Prob image disparait au rollover !
    Par Dsphinx dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/09/2006, 00h11
  4. Réponses: 4
    Dernier message: 22/08/2006, 15h16
  5. [affichage d'une image] suite et fin
    Par mavina dans le forum 2D
    Réponses: 3
    Dernier message: 31/12/2005, 00h15

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