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

HTML Discussion :

Charger des images à l'avance


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Ingénieur calcul
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur calcul

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Par défaut Charger des images à l'avance
    Bonjour,

    j'ai fais une image qui change quand on passe la souris au dessus, ça change grace au CSS:

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #m1 {background:url(./images/A.png) no-repeat;}
    #m1:hover {background:url(./images/B.png) no-repeat;}

    Le problème c'est que les images qui sont censées apparaitre en mouseover ne sont pas chargées au premier passage, donc il n'apparait rien.

    Est-ce qu'il est possible de les charger à l'avance pour les afficher normalement dès le premier passage de la souris ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Fait une recherche sur le forum javascript pour précharger les images. Tu trouveras des discussions résolues.

    A+.

  3. #3
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    Et en css, ce n'est pas possible ? (Même si ça m'a l'air moins propre) :
    Code html : 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
     
    <!doctype html>
    <html lang="fr-FR">
    <head>
    	<meta charset="UTF-8" />
    	<title>Preload image en css</title>
    	<style type="text/css">
    .preload {display: none;}
    #m1 {width: 800px; height: 400px; background: url(./images/A.png) no-repeat;}
    #m1:hover {background: url(./images/B.png) no-repeat;}
            </style>
    </head>
    <body>
    	<img class="preload" src="./images/B.png" />
                <!-- ou dans une div.preload si plusieurs images -->
    	<div id="m1"></div>
    </body>
    </html>

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Par défaut
    Si ! c'est possible

    Il faut que tu fasses une seule image avec les deux.
    Ensuite tu affiches qu'une partie de ton image et au survol avec la pseudo classe hover tu deplaces ton background pour n'afficher que la deuxieme partie de l'image.
    Dans mon exemple, la taille total de mon image est de 60px de haut et 74 de large

    Ex :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #m1{
    display: block;
    height: 30px;
    width: 74px;
    background: url('img/menu/accueil.gif') no-repeat 0 0;
    }
    #m1:hover {
    background-position : 0 -30px;
    }
    Avec cette méthode, une seule image est chargée à la base et pas de soucis

  5. #5
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    Oui, bonne idée ! Ça fonctionnerait aussi bien avec la technique des sprites css ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 110
    Par défaut
    J'ai jamais utilisé les sprites, mais il me semble que c'est le même genre non ?
    Charger une grosse image en rendant visible qu'une partie et la déplacer pour afficher ce que l'on veut

    Edit : en fait oui c'est exactement ça !
    Je l'utilise sans connaitre le nom

    Edit 2 : http://cssglobe.developpez.com/tutor...gement-images/
    Une ressource sur les sprites sur developpez.com

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/12/2007, 10h42
  2. [FLASH 8]charger des images et les rendre clikables
    Par jc_cornic dans le forum Flash
    Réponses: 3
    Dernier message: 31/08/2007, 11h37
  3. Problème pour charger des images externes
    Par teuzze dans le forum Flex
    Réponses: 1
    Dernier message: 14/05/2007, 15h37
  4. [astuce]charger des images JPEG,GIF
    Par mat.M dans le forum MFC
    Réponses: 4
    Dernier message: 06/06/2006, 19h40
  5. Réponses: 5
    Dernier message: 14/05/2006, 12h57

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