|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Bonjour à tous !
Pour expliciter le contexte, dans le cadre d'un projet, j'ai pas le droit à jQuery Mais j'ai le droit de plus ou moins le refaire ^^ Je me suis donc lancé dans cette aventure, mais je bloque sur un soucis de "context" je dirais...Sur le code qui va suivre, tout fonctionne presque Pour le moment, $('element') ne récupère qu'un élément HTML d'ID "element". Ce sera améliorer par la suite, quand j'aurais résolu ce problème de "this".. Voilà le code ^^ Code :
Code :
Citation:
Citation:
mais malgré ça, ils sont tous remplacé par le dernier appelé, même dans l'array..Quelqu'un voit peut-être d'où vient le soucis ? J'ai bien la notion de "contexte" dans mon "init", mais je n'ai pas compris comment l'utiliser, peut être pourrait-il m'aider.. Certainement même. Merci d'avance à ceux qui liront |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 686 ![]() |
Bonjour,
A quoi vous sert cette instruction ? |
|
|
00
|
|
|
#3 | |
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Citation:
![]() [EDIT] pas l'objet instancié directement, mais celui passé en paramètre. 'fin dans tous les cas, ça marchait pas. On sent le désespoir de cause dans mon code, désolé |
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 686 ![]() |
obj.selector est en fait var obj = this;. Ca porte à confusion car ce qui bloque c'est var Class = $(this); qui devient obj.selector.
![]() Changez le nom de votre variable "Class". C'est pas top d'utiliser un nom réservé (j'hésite à cause de la majuscule). |
|
|
00
|
|
|
#5 | |
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Citation:
Du coup euh.. C'était quoi la solution ? ^^ De base, personnellement j'avais juste mis : Code :
this.launchAnim(this, this.selector, i, currentValue, finishValue, pas, plus, moins, timeRefresh, callback); ![]() [EDIT] Euh sinon, this != this.selector ; en faisant $(elt), ça retourne l'objet, le selector est ensuite à l'intérieur de cet objet [EDIT] Arf okay viens de voir, normalement c'est pas Class qui est passé en parametre mais obj. Ca fait parti de toutes mes manipulations pour essayer de cerner le problème.. |
|
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
En fait après encore moults tests, j'ai l'impression qu'on ne peut pas stocker "this" en variable..
Si je fais un array, tab[], et qu'à chaque nouvelle instance j'enregistre Eh bien en bouclant sur tab, je me rend compte que tous les this sont identiques, sont tous comme "écrasé" par le dernier. Dingue. En guise d'exemple, voilà une page qui cible le problème, le code est raccourcis à l’extrême : http://www.wibimaster.com/findError/ Dans la console, 4 lignes s'afficheront,le problème se distingue à la 3e.. |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Là il s'agit d'une affectation type PHP, mais ce n'est pas valable en JavaScript.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#8 | |||||
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Yep, j'ai écrit ça à la va-vite pour le forum, mais dans tous les cas ça ne marche pas.. Il faut regarder la page test, et la source qui est beaucoup plus concise montre directement le soucis. Pour ne pas dénaturer le post, je n'ai pas éditer le 1er message, donc je vais mettre la source ici :
Code :
Code :
Citation:
|
|||||
|
|
00
|
|
|
#9 | ||
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Bien, après avoir écumé d'autres forum, j'ai finit par trouver deux solutions à ce problème. Je post ici la réponse la plus simple, sait-on jamais que quelqu'un en ait besoin, et puis histoire de le marquer comme résolu...
Code salvateur : Code :
|
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com