Tutoriel Vidéo jQuery : Slider Javascript avec jQuery
Dans ce tutoriel vidéo vous découvrirez comment utiliser la programmation orientée objet en Javascript pour créer un slider avec la librairie jQuery. Le but principal de ce tutoriel sera donc de créer un objet qui puisse être utiliser pour implémenter un comportement de slider à plusieurs éléments d'une même page.
Nous verrons donc :
- Comment créer un objet en javascript
- Comment créer des variables d'instances
- La portée des variables
- La création de l'objet slider
- L'utilisation d'un objet
Ce tutoriel est destiné à un public avertis ayant déjà de bonne connaissance en javascript et en programmation orientée objet.
DJEZ Il y a 1 mois Répondre
Bonjour, je ne comprends pas pourquoi je n'arrive pas a adapter le code chez moi.
En fait j'voulais savoir déjà si ca pose problème que certaines photos soient en portrait et d'autre en paysage ?
Ensuite mon soucis:
J'alimente le slider suis au changement de valeur d'un select par:
$("#groupeRepertoire").change(function(){
var recherche = $(this).val();
var recherche = recherche.toLowerCase();
var databis = 'motclef=' + recherche;
$.ajax({
type: "GET",
url: "../pages/requete_photo.php",
data: databis,
success: function(server_response){
if(server_response=='aucune photo') {
$("#groupeRepertoire").next(".erreur-message").fadeIn(500).html(server_response).css('color','red')
$("#galerie").hide(500)
} else {
$("#galerie").show(1000)
$(".prec").show()
$(".suiv").show()
$("#slider").show()
$("#slider").html(server_response)
$("#groupeRepertoire").next(".erreur-message").hide()
s = new slider("#galerie");
}
}
});
});
Suite a ca mon php renvoie dans le #slider ceci:
while($data=mysql_fetch_array($req))
{
$lien_mini=$data['lien_mini'];
$lien_maxi=$data['lien_maxi'];
echo '
<a href="#"><img src="'.$lien_mini.'"></a>
';
}
au niveau du javascript je suis arrivé a ceci
var slider = function(id) {
self=this;
this.div = $(id);
this.slider=this.div.find("#slider");
this.largeurCache = this.div.width();
this.largeur=0;
this.div.find('a').each(function(){
self.largeur+=$(this).width();
self.largeur+=parseInt($(this).css("padding-left"));
});
this.prec = this.div.find(".prec");
this.suiv = this.div.find(".suiv");
this.saut = this.largeurCache/2;
this.nbEtapes = Math.ceil(this.largeur/this.saut - this.saut);
this.courant=0;
this.suiv.click(function(){
self.courant++;
self.slider.animate({
left: -self.courant*self.saut
},2000);
});
}
donc celon le tuto je devrai déjà pouvoir décaler. Cela ne fonctionne pas et je pige pas pourquoi.
Auriez vous de l'aide svp ?