JS assez complexe

HyWaN
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 14
Inscription: 4 Juil 2005

JS assez complexe

Message le Mar Jan 03, 2006 11:48

Bonjour Mlls, Mms, Mrs :)

Je vous avous, j'ai un énorme problème !
J'ai découvert le site : netvibes.com, vraiment géant à beaucoup de points de vue.
En parfait petit geek, je m'intéresse en premier à la source ... hmmm et là ... problème lol.
Je ne comprend pas grand chose au JS !
Je cherche à savoir comment ils font pour marquer « Loading ... » par exemple, ou pour marquer « Chargement ... », pendant le chargement de leur feeds, etc ...
Alors je ne vous demande pas de m'expliquer les scripts, dans leur ensemble je comprend. Sauf une chose, il utilise souvent var.onload. Et on ne peut déclarer ceci que : par une fonction, ou par une capture d'évènement.
Tout le problème se pose !
J'aimerai savoir comment ils font pour pouvoir avoir un onload, sans le déclarrer nul part lol.

C'est un problème que je pose à tout le monde.
Quiconque peut m'éclairer sur leur script aura ma gratitude lol ^^

Merci beaucoup, et bonne journée à tous :P

(je précise que c'est juste pour me cultiver, apprendre, et non pas pour pomper le script, etc ... donc pas d'énervement intensif merci :wink:)

Lien :http://netvibes.com


e-kiwi
Modérateur
Modérateur
 
Messages: 15541
Inscription: 23 Déc 2003

Message le Mar Jan 03, 2006 11:55

tu peux simplifier

tout en haut de ta page, avant tes traitements tu affiche un div qui marque "loading", tu fais tes traitements, et tout en bas de ta page, tu caches le div

HyWaN
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 14
Inscription: 4 Juil 2005

Message le Mar Jan 03, 2006 12:25

oui bien sur
mais leur facon est sympa, car jpense qu'il gère de la manière les « Chargement ... » pour leur feeds listing :)
et j'aimerai comprendre comment ils font :]

merci :)


moktoipas
WRInaute passionné
WRInaute passionné
 
Messages: 2326
Inscription: 29 Juin 2004

Message le Mar Jan 03, 2006 13:10

Je crain que si tu n'y connais rien du tout en JS tu en chie grave 8-)

C'est le l'ajax (google pour déveloper l'acronyme, le J est pour javascript)

Je te conseille de commencer par qqch de simple, apprendre le javascript d'abord avec des exemples plus simple que Netvibes (reference du Web 2.0 d'ailleur).

Donc voila, prend des exemples simple pour commencer.

HyWaN
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 14
Inscription: 4 Juil 2005

Message le Mer Jan 04, 2006 18:51

lol merci pour ces conseils :P

alors j'ai suivis vos conseils, et je commence simple, lol, mais je block !!
http://firegates.com/js/nav.js

tout marche comme il faut, sauf que la, j'appelle la fonction dans mon fichier .js, et pas dans le body de ma page index.php, et donc la ... catastrophe ^^
plus rien ne marche.

je fais : createElement(div); et pour l'afficher, je fais : document.body.appendChild(div); mais vue que je n'appelle pas la fonction depuis body mais depuis nav.js, je ne peux pas faire document.body ... hehe malin ^^
alors je fais document.write(div.outerHTML); mais firefox ne prend pas outerHTML ... et IE n'applique le CSS lol, alors en fait, jsuis dans le caca ^^

Merci si quelqu'un a une solution a un probleme qui n'est pas franchement posé ... :wink:

HyWaN
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 14
Inscription: 4 Juil 2005

Message le Mer Jan 04, 2006 19:32

hehe me voila de retour tres rapidement ...

bon je rééplique mon probleme.
il etait le suivant : outerHTML ne fonctionne pas sous IE, innerHTML l'est car il est tres pratique, mais outerHTML est encore bien propio et ne fonctionne que sous IE.
je ne pouvais donc pas faire mon document.write(div.outerHTML); alors c'est la que un ami a moi (merci hydramon ^^) a trouvé la solution suivante : je créé un div container, qui contient tout mon premier div. et apres j'ai plus qu'a fare innerHTML.container :) je sais pas si on me suit lol
en tout cas, c'est une soluce pour contourner le problème du outerHTML sous les broswers autres que IE.

voici la source :

Code: Tout sélectionner
var container = document.createElement("div");
var div = document.createElement("div");
div.innerHTML = "text";
container.appendChild(div);
document.write(container.innerHTML);


on passe par DOM et on a pas de probleme :)

merci beaucoup pour votre aide !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités