Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2011, 15h49   #1
Membre confirmé
 
Avatar de venomelektro
 
Inscription : avril 2004
Messages : 496
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : avril 2004
Messages : 496
Points : 250
Points : 250
Par défaut each et this

Bonjour,

Je modifie actuellement un plugin jquery , jcarousel , qui utilise le format classique de plugin jquery ( options etc..)


je suis confronté a un probleme d accès de variable

a l intérieur d une fonction membre j ai ceci

Code :
1
2
 
this.list.animate(o, this.options.animation, this.options.easing, scrolled);
le problème est que dans mon cas, j ai besoin de différencier certains éléments , j ai donc pensé a faire

Code :
1
2
3
4
5
6
 
 
 this.list.each( function(index){
 
   $(this).animate(o, this.options.animation, this.options.easing, scrolled);
});
le probleme est que je ne peux accéder au this.options a l intérieur du each, je me retrouve avec un "undefined"

auriez vous une idée pour contourner le soucis ? (ou comment accéder au this du contexte dans lequel on a déclaré le each a l intérieur d un each)
__________________
telecharger jeux pc
venomelektro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 17h25   #2
Membre habitué
 
Homme
Développeur Web
Inscription : avril 2007
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2007
Messages : 323
Points : 144
Points : 144
Hello,
en déclarant une variable globale, genre comme ça?

Code :
1
2
3
4
5
6
7
var elt1 = this;
 
 
elt1.list.each( function(index){
 
   $(this).animate(o, this.options.animation, this.options.easing, scrolled);
});
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...
erox44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 12h58   #3
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Bonjour,

l'utilisation du each pose problème, il faut soit :
  • ne pas passer d'argument à la fonction anonyme du each, dans ce cas, this référence l'item courant sur lequel est la boucle
  • passer deux arguments, le premier qui est l'index et le second qui est l'item

Ce qui donne :
Code :
1
2
3
4
 
$.each(this.list, function() {
   $(this).animate(o, this.options.animation, this.options.easing, scrolled);
});
soit :

Code :
1
2
3
4
 
$.each(this.list, function(index, item) {
   $(item).animate(o, item.options.animation, item.options.easing, scrolled);
});
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 14h06   #4
Membre confirmé
 
Avatar de venomelektro
 
Inscription : avril 2004
Messages : 496
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : avril 2004
Messages : 496
Points : 250
Points : 250
Merci !
__________________
telecharger jeux pc
venomelektro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h35.


 
 
 
 
Partenaires

Hébergement Web