http://javatwist.imingo.net/defi2.htm
D'où vient-il, ce joli message?
http://javatwist.imingo.net/defi2.htm
D'où vient-il, ce joli message?
J'adore le nom que tu donnes à tes variables.
D'où vient le message ? hein ? d'où ksékil vient ?
Il vient du coté obscure de la force qui se bat contre un enemi inexistant qui à été materialisé grâce à une machine qui file à l'anglaise...
bref... comprenne qui pourra...![]()
c'est heu comment dire ...
indéfinissable ?
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
bon j'en balance un autre mais c'est pas une raison pour vous jeter dessus hein: n'oublions pas qu'il s'agit d'une expérience pédagogique
... remarquez, on peut envisager des récompenses![]()
lol, j'en ai trouvé une partie je pense...
et je vais tester un truc dans mon programme, j'ai l impression que ca va m aider sur une de mes question plus bas dans le forum(l affichage des erreurs...)
EDIT : bah en fait non, j'arrive toujours pas a modifier un text dynamiquement...
mine de rien, t'es bien tordu comme mec...![]()
existe-til quelque part une liste des erreurs ?
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Moins tordu que le premier a mon sens, mais tj aussi interessant![]()
a priori, y a des lignes inutiles :
String.prototype.bref=this.bref;
String.prototype.lourd=this.length+5;
le "en" est reporté depuis undefined que tu met a l envers et dont tu selectionne les catractere 1 a 3
un() renvoi "fin " depuis undefined coupé par le caractere e
defi() renvoi "un defi" tiré depuis la undefined toujours en prenant le masque astragal.(les 2 premier caractere puis les 4 suivants.
dark() ne fait que mettre bout a bouts les mots
vador() remplace les "e" par des "é"
par contre, je ne trouve pas :
- ou tu gere pour que ca remplace ton txte dans le visuel(ca doit etre le plus con du script... ou alors j'ai pas de firstchild.data dans mes div)
- ou tu definit que la premiere lettre doit etre une majuscule.
oui il y a un paquet de trucs inutlies ...
si je te dis tirage de scrabble ... tu me donnes quelles lettres ?
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
bravo!
par contre, ce serait bien que tu trouves les 2 dernières réponses: les plus simples, en effet;
attention, ces lignes
sont loin d'être inutiles; ce sont même les plus importantes du script!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String.prototype.bref=this.bref; String.prototype.lourd=this.length+5;
par contre, c'est clair que
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part Enfin;
sont des leurres;
Code : Sélectionner tout - Visualiser dans une fenêtre à part Defi;
bon, donc la majuscule est definit dans vador() en même temps que le remplacement de "e" par "é"
Le texte affiché est contenu dans atlast.data
donc dans clique.firstchild.data normalement
cad :
document.getElementById("claque").firstchild.data
seul pb, dans mon cas, quand j'essaye de faire la meme chose dans mon script, il me dit que je n'ai pas de first child.
la : http://www.developpez.net/forums/viewtopic.php?t=344117
je pige pas...
EDIT :
pkoi le script marhe encore quand on els desactive alors? je me disais bien que this.lourd etait appellé plus haut...(pour générer le "en")
oui, tu zappes peut-être certains points de la syntaxe dom;
est un objet balise: impossible d'écrire dedans;
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("affErreurs")
il faut que tu appelles son premier noeud pour pouvoir lui ajouter du texte (erreurs.firstChild); mais dans ton cas, tu vas avoir une erreur sous IE parce que le div ne contient rien au départ; tu ferais mieux de le générer dans le script et de lui donner un texte avec (nodeValue ou data)
bah, pour bref, la "fausse propriété" est reprise dans la fonction, donc c'est vrai qu'on pouvait se passer de la première déclaration;
pour, le résultat est sûrement différent quand on la retire;
Code : Sélectionner tout - Visualiser dans une fenêtre à part lourd
suffit de remplacer lourd par 5 ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
JT : quand pourras-t-on donner la réponse avec l'explication complète de ton script ?
Au passage : on pourrais presque faire une explication de texte avec mon précédent message.![]()
soluce
description
Remplacer le contenu d'un div par un autre message quand on clique dessus.
but du jeu
D'où vient ce message.
quoi regarder?
La feuille de style
affiche en majuscule la première lettre du message;
Code : Sélectionner tout - Visualiser dans une fenêtre à part #claque:first-letter {text-transform:capitalize;}
Le script
définition de l'objet div et de son contenu pour javascript;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var clique=document.getElementById("claque"); var atlast=clique.firstChild;
après, il faut commencer par la fin, c'est-à-dire, l'appel de fonction et la fonction:
On doit donc observer Defi(), Dark() et Vador()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function Enfin(){ Defi;/* instruction sans effet: Defi est le nom d'une fonction utilisée dans le script;*/ atlast.data=String(Defi(atlast.data)).Dark().Vador();/* le nouveau message est "la valeur retournée par la fonction Defi() quand on lui passe la chaîne d'origine en argument; cette chaîne subit alors successivement les méthodes Dark() et Vador()";*/ } clique.onclick=Enfin;// appel de Enfin()
Autant regarder dès maintenant la propriété "bref";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function Defi(enfin){// enfin a la valeur du div d'origine; String.prototype.Vador=function(){ return this.replace(/\Be/i,'é')};/* une nouvelle méthode de String est définie: elle remplace le premier "e" qui ne se trouve pas en limite de mot par un "é";*/ Enfin;// instruction sans effet: Enfin est une fonction de la page; return enfin.bref // la fonction retourne la propriété "bref" de la chaîne; }
Elle renvoie "undefined" puisque "this" est l'objet window courant et qu'il n'a pas de propriété "bref"!
A partir de maintenant, il faut se souvenir que la chaîne traitée est "undefined";
Code : Sélectionner tout - Visualiser dans une fenêtre à part String.prototype.bref=this.bref
"Dark()" est une méthode de String qui renvoie la concaténation de 3 "sous-méthodes": enfin(), un() et defi()
"enfin()" renvoie une portion de chaîne débutant au 6e caractère; cette chaîne est inversée et on en prend les 2e et 3e caractères ("en")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String.prototype.Dark=function(){ return this.enfin()+this.un()+this.defi()}
"un()" renvoie la partie de la chaîne qui se trouve entre les 2 premiers "e" + un espace; ("fin")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String.prototype.enfin=function(){ return this.substring(this.lourd).split('').reverse().join('').substring(1,3)}
"defi()" renvoie les six premiers caractères de la chaîne en ajoutant un espace après le 3e, et un point d'exclamation en fin de chaîne; la chaîne est modifiée par le masque "astragale" [2 caractères + 4 caractères + 1 ou plusieurs caractères]; on obtient donc "un defi";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String.prototype.un=function(){ return this.split('e')[1]+" "}
Rappelons-nous que la chaîne ainsi constituée est passée à Vador() pour convertir le 2è "e" en "é";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String.prototype.defi=function(){ return this.replace(astragale,'$1 $2!')}
On obtient ainsi "Enfin un défi!";
Partager