OVH Cloud OVH Cloud

diivers questions

2 réponses
Avatar
Fabrice Lambert
Bonjour, autant attaquer le vif du sujet:

- Est-il possible de masquer le curseur de souris ?
- Je charge beacoup d'image (tant sur mes page que dans le cache), comment
m'assurer qu'elles sont bien chargée avant d'executer mes scripts ?
- le gros de mon srcript est dans un ficher JS externe, et demarre sur
l'event document.onLoad. En local, ca passe sans probleme, en ligne, j'ai
des erreurs (genre objet attendu), une idée ?

Merci d'avance.

2 réponses

Avatar
YD
Bonjour, autant attaquer le vif du sujet:


Foin de blablas inutiles, donc.

- Est-il possible de masquer le curseur de souris ?


Non, sauf bidouille CSS avec des images transparentes (voir la doc CSS2)
sans garantie que cela fonctionne dans tous les navigateurs, même récents.
Il y a aussi possibilité de faire afficher un pointeur sablier jusqu'au
moment voulu (attention ça n'est moins simple que ça y paraît).

- Je charge beacoup d'image (tant sur mes page que dans le cache), comment
m'assurer qu'elles sont bien chargée avant d'executer mes scripts ?


Chaque image dispose d'un gestionnaire d'évènement onload !

- le gros de mon srcript est dans un ficher JS externe, et demarre sur
l'event document.onLoad. En local, ca passe sans probleme, en ligne, j'ai
des erreurs (genre objet attendu), une idée ?


Si des objets sont ajoutés via le DOM par le script, ils ne sont pas forcément
disponibles au moment où une fonction essaie de les manipuler. Il faut donc
tester leur existence avant :
if(obj) //obj existe on fait le traitement
else //obj n'existe pas ou pas encore que faire

--
Y.D.

Avatar
ASM

L'evenement onLoad ne m'aide pas bcp, ya simplement trop d'images,
et le nom 1/4 d'entre elle est calculé.
J'ai ecrit quelque chose dans ce genre:

this.middlePictureLaser.src = "pal_middle_laser.gif"; //chargement d mon image
loadingStatus.innerHTML = '<b><font color="green" size="2">Loading: ' +
this.middlePictureLaser.src + '</font></b>'; //msg pour faire patienter
while (this.middlePictureLaser.complete == false); <--- ca coince ici !!!!


oui ça coincera toujours là
(je ne crois pas que ça s'emploie ici)

peut-être essayer :

<div class="vue">
<img alt="" id="img_1" src="pal_middle_laser.gif" onload="cache(this)">
<p>Patienter pendant le chargement.<br>Merci</p>
</div>

function cache(elemt) {
with(elemt.parentNode.getElementsByTagName('p')[0].style) {
visibility='hidden'; display='none'; }}

.vue { position: relative; }
.vue p { position: absolute; top: 0; left:0;
text-align: center; color: red; }

(sans aucune garantie)

Sinon il reste le post-chargement des images
leur vérif de chargement en cache
puis enfin leur afichage en bonnes places

Et puis, si c'est vraiment long à charger,
he bien, il faut réduire le nombre d'images
et faire plusieurs pages.

--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************