background qui ne s'étend pas

Eléphant du PHP | 377 Messages

04 juil. 2008, 17:11

le problème de lourdeur vient effectivement de ton background_p, j'a trompi :lol:
disons que le principe d'un background est généralement de prend l'image la plus petite possible et de la répéter, or ici elle est tout simplement gigantesque :shock:
Donc deux solutions : soit tu renonces aux écritures dans la prtie gauche et tu réduis ton fichier d'un bon facteur 15, soit tu renonces au petit dégradé et tu passes l'image en jpg, en gardant à peu près le même facteur de perte de poids
Tu peux aussi continuer comme ça, mais franchement c'est très désagréable ;)
Petit scarabée deviendra grand

Mammouth du PHP | 959 Messages

04 juil. 2008, 17:20

Ok, mais tu saccades ?? et les autres alors ? ^^

Je vais tester sur mais autres ordi et sur mon Mac si tout est bon ;)

Merci de votre aide :)

Eléphant du PHP | 377 Messages

04 juil. 2008, 17:53

je suis sur safari mac et aucune saccade, mais je n'en avais pas au début non plus
Petit scarabée deviendra grand

Mammouth du PHP | 959 Messages

04 juil. 2008, 18:03

Ok ouais moi non plus, au tout début avant que je poste, il y avais un bug que j'avais corrigé :p

Sinon les Windosiens là ?

EDIT: Aïe Aïe Aïe, avec la pub google c'est pire :roll: :roll:

pourtant avec IE ça saccade pas xD

Pour les pressés qui ont déjà installer FF 3, ça saccade ? xD

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

04 juil. 2008, 20:16

J'ai une petite remarque : Tu utilises le Javascript suivant dans ta page, mais je ne vois pas l'utilité de la fonction "preload_images()"

Code : Tout sélectionner

// Precharger des images... function preload_images(){ i1 = new Image; i1.src = "./images/buttons/on/accueil.png"; i2 = new Image; i2.src = "./images/buttons/on/infos_contact.png"; i3 = new Image; i3.src = "./images/buttons/on/vocabulaire.png"; i4 = new Image; i4.src = "./images/buttons/on/realisations.png"; i5 = new Image; i5.src = "./images/buttons/on/utilitaires.png"; i6 = new Image; i6.src = "./images/buttons/on/cv.png"; } // Overs Images function img_over(id) { document.getElementById(id).src = "./images/buttons/on/" + id + ".png"; } function img_out(id) { document.getElementById(id).src = "./images/buttons/" + id + ".png"; }
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

04 juil. 2008, 20:19

preload_images() ? c'est tout simplement pour précharger les boutons à leur survol... il y a une fleche qui s'affiche..

Voilà, pourquoi ? :? c'est pas bien ? :?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

04 juil. 2008, 22:12

Je suis désolé mais ça ne sert à rien car tu ne l'utilises pas justement pour tes changements d'images des boutons. Ce sont les 2 dernières fonctions img_over(id) et img_out(id) qui font ça mais pas preload_images() d'ailleurs dans cette fonction tu charges des images dans des objets i1 jusqu'à i6 dans la mémoire sans les réutiliser.

La preuve, si tu supprime la fonction preload_images() rien ne va changer quant au changement des images des boutons au survol. Une autre preuve, la suppression de cette fonction réduira à la fois, le temps de chargement de la page et la mémoire du client.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

04 juil. 2008, 22:54

Ah bon ? :shock:

Je pensais que cette fonction (preload_images()) préchargé les image des boutons au survol de façon à se que quand le client survol une image, qu'il voit transparent et qu'il à l'impression que c'est instantané...

Alors comment faire ?

pour l'instant, je vais enlever le onload dans le <body> ;)

Merci.

EDIT : voilà, j'ai mis mon nouveau site en ligne :)
Bug ? remarque ? n'hésitez pas ;)
Si vous êtes gentil, vous pouvez profiter de cliquer sur ma pub :mrgreen:


EDIT 2 : J'ai trouver pourquoi sa saccadé !
s'été à cause du
background-attachment:fixed;
(dans le body)
Mais sa fais ce bug uniquement sous FireFox, donc j'ai mis
background-attachment:scroll;
Mais comme sous IE ça fais pas ce bug alors dans le CSS pour IE j'ai laissé
background-attachment:fixed;
:P


Merci à vous tous,
Résolu ;)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

06 juil. 2008, 21:42

Ah oui, le chargement et le design sont nettement mieux actuellement.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

06 juil. 2008, 22:16

Eh oui ^^ :)

et sinon pour le onload dans le <body> ?

Parce-que j'ai fais des tests et sans ce onload, quand on passe la souris, il y a un léger temps de réaction avant que la flèche s'affiche...

j'ai vidé mon cache et j'ai transféré la page avec le onload, et la, plus de temps de réaction ;)

Alors pourrais tu m'expliquer pour tu me disais que en gros ça servait à rien ? :P

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

06 juil. 2008, 23:35

Oui, l'avantage si tu laisse le preload_images() est que le chargement des images se fait au démarrage ce qui les stocke dans le cache et améliore leur réutilisation lors des actions sur les boutons.

Mais sans cette fonction, les images des boutons seront posées dans le cache selon leurs première utilisation.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

06 juil. 2008, 23:46

Ouais bah ouais

C'est pour ça, comme il y a 90% des chances que le visiteur passe sa souris sur les boutons...

Sinon, pour éviter de tout charger en même temps, je peux faire un
onload="setTimeout('preload_images()',2000);"
au lieu d'un simple
onload="preload_images()"

Je sais pas.... à toi de me dire :)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

07 juil. 2008, 10:35

Bah non, car le setTimeOut() c'est une boucle temporisée qui va exécuter ta fonction plusieurs fois à intervalle de 2 secondes (2000 millisecondes). Ce qui n'est pas bon car il chargera les mêmes images plusieurs fois.

En fait, tu peux laisser comme c'était, du moment où ton design d'images est maintenant allégé, y a pas de soucis.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

07 juil. 2008, 12:19

Ah oui mince ok

Merci à vous tous qui m'ont aidé ! :)