Bonjour à tous !!
Pour le contexte, le code provient d'un slider que je suis en train de coder en javascript/jQuery.
Voici la boucle qui pose probleme :
La premiere partie avec le .append me permet d'ajouter a mon slider autant de selecteur qu'il y a d'image dans le slider.
Jusqu'ici, aucun probleme !
C'est pour la partie de la fonction .hover que j'ai un soucis, j'explique :
En utilisant la variable backgroundPosX, je pensais que mon code allait généré une propriété hover pour chaque $("#slide" + (j+1)) avec la valeur actuelle de backgroundPosX.
J'ai bien un hover généré sur chaque id, mais tous à la valeur de backgroundPosX, ce qui parait logique puisque une fois la page chargée le script a fini d'etre executé et la variable backgroundPosX est fixe.
Comment puis-je faire pour généré un .hover pour chacun de mes ID mais avec la valeur du backgroundPosX à chaque tour de boucle et pas à la valeur qu'il a lorsque je passe ma souris sur l'élément ?
J'espère avoir été clair, dites moi si vous voulez des images d'explications ou plus de codes
Merci d'avance pour votre aide !!
Modifié par SpiStache (25 Feb 2014 - 08:48)
Pour le contexte, le code provient d'un slider que je suis en train de coder en javascript/jQuery.
Voici la boucle qui pose probleme :
for (j = 0; j<img.length; j++) {
$("#slideListe").append('<li><a href="#" id="slide' + (j+1) + '"></a></li>');//on ajoute le nombre de slide au controles
var backgroundProperty = "url('banner_buttons.png')" + backgroundPosX + "px 0 rgba(0, 0, 0, 0)"; //
$("#slide" + (j+1)).css("background", backgroundProperty);//on ajoute les image correspondante aux controles
$("#slide" + (j+1)).hover(function() { //On créée l'evenement mouseover pour les numero de controle
var backgroundPropertyHover = "url('banner_buttons.png')" + backgroundPosX + "px -24px rgba(0, 0, 0, 0)";
$(this).css("background", backgroundPropertyHover);//alert(backgroundPropertyHover);
},function(){
var backgroundPropertyHover = "url('banner_buttons.png')" + backgroundPosX + "px 0px rgba(0, 0, 0, 0)";
$(this).css("background", backgroundPropertyHover);//alert(backgroundPropertyHover);
});
backgroundPosX += -24;//on incremente la position du sprite pour afficher le prochain numero de slide
}
La premiere partie avec le .append me permet d'ajouter a mon slider autant de selecteur qu'il y a d'image dans le slider.
Jusqu'ici, aucun probleme !
C'est pour la partie de la fonction .hover que j'ai un soucis, j'explique :
En utilisant la variable backgroundPosX, je pensais que mon code allait généré une propriété hover pour chaque $("#slide" + (j+1)) avec la valeur actuelle de backgroundPosX.
J'ai bien un hover généré sur chaque id, mais tous à la valeur de backgroundPosX, ce qui parait logique puisque une fois la page chargée le script a fini d'etre executé et la variable backgroundPosX est fixe.
Comment puis-je faire pour généré un .hover pour chacun de mes ID mais avec la valeur du backgroundPosX à chaque tour de boucle et pas à la valeur qu'il a lorsque je passe ma souris sur l'élément ?

J'espère avoir été clair, dites moi si vous voulez des images d'explications ou plus de codes
Merci d'avance pour votre aide !!
Modifié par SpiStache (25 Feb 2014 - 08:48)