Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1641 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  demarrer un gif de background que quand il est chargé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

demarrer un gif de background que quand il est chargé

n°2251409
deumilcat
Posté le 22-02-2015 à 15:49:37  profilanswer
 

je n'arrive pas a comprendre / trouver sur internet comment utiliser onload dans ce cas de figure (je suis un amateur absolu en prog web)
j'aimerais que le gif ne commence a s'afficher qu'une fois qu'il est completement chargé
 
- je definis le contenu et structure d'un div et de son background dans une entete 'style' (je fais pas de fichier css séparé , c est plus clair pour moi de tout avoir dans le meme code)
 
 
 

Citation :

.tableau
{
min-width: 990px;
 min-height: 360px;
 margin: auto;
 
  background : url("A.gif" ) no-repeat center ;[/cpp]
}


 
- puis je l'affiche avec:
 
 

Citation :

<div class="tableau">
 
texte avec le backgroundgif  en dessous
 
</div>


 
 
merci de vos lumieres!  ^^


Message édité par deumilcat le 22-02-2015 à 16:03:54
mood
Publicité
Posté le 22-02-2015 à 15:49:37  profilanswer
 

n°2251444
SICKofitAL​L
misanthrope
Posté le 22-02-2015 à 23:05:59  profilanswer
 

1) redéfini ta classe .tableau sans y préciser le background-image, où alors précises juste une image statique de ton choix (donc pas une animation gif)
2) crées un deuxieme classe css qui ne contiendra que le background-image de ton gif, mais que tu n'assignes à aucun element
3) via javascript, tu créés une Image, tu lui assignes en source ton gif (le même que la classe vu plus haut), et tu mets sur l'evenement onload un callback qui va changer les elements qui utilisent la classe css "tableau", et là tu ajoutes la deuxieme classe que tu as créés. Comme ca, l'anim en question ne démarre que quand elle est chargée.
 
en gros :

Code :
  1. // css
  2. .tableau
  3. {
  4. min-width: 990px;
  5. min-height: 360px;
  6. margin: auto;
  7. background: url("A_statique.gif" ) no-repeat center;
  8. }
  9. .tableauAnim {
  10. background: url("A.gif" ) no-repeat center;
  11. }
  12. // html
  13. <div class="tableau">
  14. texte avec le backgroundgif  en dessous
  15. </div>
  16. // js
  17. window.onload = function ()
  18. {
  19.   var img = new Image ();
  20.   img.onload = function ()
  21.     {
  22.       // IE9+
  23.       document.getElementsByClassName ("tableau" ).forEach (function (el) { el.className += " tableauAnim "; });
  24.     }
  25.   img.src = "A.gif";
  26. }


 
Pas testé, mais l'idée est là je pense :o (à noter que tu peux te simplifier le code js et le rendre plus compatible IE en utilisant jQuery)


---------------
We deserve everything that's coming...
n°2251450
deumilcat
Posté le 23-02-2015 à 08:28:52  profilanswer
 

excellent merci ca rejoint les methodes que j'ai trouvé mais avec du code que je comprends ^^  je vais tester ca !
 
pendant que j'y suis : quand on veut definir deux backgrounds superposés sur une seule classe div (en separant avec une virgule)  
est ce qu'il y'a un moyen de definir une taille / un scaling en pourcentage pour chacun dans les arguments?  (c est a dire un "background-size" , mais pour chaque)  
 
je parle de cette commande css
 

Citation :

background :   url("banana.gif" ) no-repeat center , url("A.gif" ) no-repeat center ;

n°2251455
SICKofitAL​L
misanthrope
Posté le 23-02-2015 à 09:36:32  profilanswer
 

Oui tui peux, mais à voir pour la compatibilité inter-navigateurs. Il faut mettre la valeur "size" en dernier et séparer celle-ci par un "/" :

Code :
  1. background: url(UNE_IMAGE) no-repeat top right / 100px, url(UNE_AUTRE_IMAGE) no-repeat top left / 50%


 
doc : https://developer.mozilla.org/en-US [...] background


---------------
We deserve everything that's coming...
n°2251473
deumilcat
Posté le 23-02-2015 à 11:28:26  profilanswer
 

merci j aurais pas pu la deviner celle-la !  :pt1cable:  
 
bon maintenant je veux charger un background different (gif animé lourd qui sucerait trop de forfait datamobile ou un gif fixe light)  
selon que c'est un mobile ou un ordi qui navigue le site...   :D   des bonnes pistes ici: ^^  
http://stackoverflow.com/questions [...] pplication

n°2251481
SICKofitAL​L
misanthrope
Posté le 23-02-2015 à 12:57:32  profilanswer
 

Mouais, utiliser le User-Agent n'est pas une bonne idée je pense, celui-ci étant modifiable et relou à parser.
Regarde du coté des media queries :
http://openclassrooms.com/courses/ [...] ia-queries


---------------
We deserve everything that's coming...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  demarrer un gif de background que quand il est chargé

 

Sujets relatifs
Background doubleBackground / Fond de page HTML sous Blue Griffon
Récuperer le background d'un élémentBackground & Media queries
Mise en page CSS, histoire de bien démarrerSauvegarde du "Menu démarrer"
backgroundcode pour selection et envoi d'une vidéo à démarrer sur la TV
background "dynamique" 
Plus de sujets relatifs à : demarrer un gif de background que quand il est chargé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR