Mon slider ne marche pas

Fermé
Pacho001 - Modifié par jordane45 le 5/01/2015 à 01:29
 Pacho001 - 7 janv. 2015 à 08:17
Bonsoir à tous,
j'ai décidé de me lancer dans le développement de slider en suivant de très près un tutoriel video sur youtube. Malheureusement, je rencontre deux problèmes. Alors je viens demander de l'aide.

1er problème: insertion d'image via CSS

Après avoir attentivement suivi le tutoriel et même parcouru internet (google) pour d'éventuelles solutions, rien a marché. Alors j'ai fait ce que je sais faire le mieux: insertion direct dans le code html. Mais ce n'est pas ce que je veux.

2ème problème: animation des images sur click

Là aussi, c'est tout un casse tête, parce je ne sais plus que faire. je ne retrouve pas l'erreur et finalement je ne réussie pas à avancer dans mon travail.

Aidez-moi svp! Voici mes différent codes:

HTML:
  <div id="galerie">
   <div class="slider">
    <a href="#"><img src="images/img1.jpg"></a>
    <a href="#"><img src="images/img2.jpg"></a>
    <a href="#"><img src="images/img3.jpg"></a>
    <a href="#"><img src="images/img4.jpg"></a>
    <a href="#"><img src="images/img5.jpg"></a>
    <a href="#"><img src="images/img6.jpg"></a>
    <a href="#"><img src="images/img7.jpg"></a>
    <a href="#"><img src="images/img8.jpg"></a>
    <a href="#"><img src="images/img9.jpg"></a>
    <a href="#"><img src="images/img10.jpg"></a>
    <a href="#"><img src="images/img11.jpg"></a>
    <a href="#"><img src="images/img12.jpg"></a>
    <a href="#"><img src="images/img13.jpg"></a>
    <a href="#"><img src="images/img14.jpg"></a>
    <a href="#"><img src="images/img15.jpg"></a>
    <a href="#"><img src="images/img16.jpg"></a>
    <a href="#"><img src="images/img17.jpg"></a>
   </div>
   <div class="suiv"><img src="images/fleched.png"></div>
   <div class="prec"><img src="images/flecheg.png"></div>
  </div>

CSS:
body{
 width:80%;
 margin:auto;
}
#galerie{
 position:relative;
 height:200px;
 overflow:hidden;
}
.suiv{
 cursor:pointer;
 position:absolute;
 top:30px;
 right:0;
 margin-top:auto;
 //background-image: url("images/fleched.png");
}
.prec{
 cursor:pointer;
 position:absolute;
 top:30px;
 left:0;
 margin-top:auto;
 //background-image: url("images/flecheg.png");
}
.slider{
 width:5000px;
}

JS:
$(document).ready(function() {
 s = new slider("#galerie");
});

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"));
  self.largeur+=parseInt($(this).css("padding-right"));
  self.largeur+=parseInt($(this).css("margin-left"));
  self.largeur+=parseInt($(this).css("margin-right"));
 });
 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.courant=0;
 
 this.suiv.click(function(){
  self.courant++;
  self.slider.animate({
   left:-self.saut
  },1000);
 });
};



EDIT : ajout des balises de code.

3 réponses

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
5 janv. 2015 à 01:31
Bonjour,

Lorsque tu postes du code sur le forum, merci d'utiliser les balises de code
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Ensuite... je vois que tu utilises très certainement Jquery ... quelle version as tu utilisé ?

Et enfin..
Lorsque tu lances ta page avec ton navigateur internet, as tu utilisés les outils de débogage ( comme FireBug pour FireFox) pour essayer de voir s'il ne t'indiquait pas une éventuelle erreur dans ton script ??


PS : tu as posté ta question dans la section PHP du forum... hors ta question concerne le javascript..
Je déplace au bon endroit !
0
Merci Jordane45 pour ces remarques! j'y veillerai désormais.

pour le jquery, j'utilise le jquery-1.9.1.min

j'ai lancé fireBug; mais il ne m'indique aucune erreur
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
5 janv. 2015 à 11:12
Visiblement c'est uniquement cette partie là qui ne fonctionne pas
self.slider.animate({
   left:-self.saut
  },1000);

En changeant l'animation.. elle se déclenche bien.

Par exemple avec :
  self.slider.animate({
    width: "70%",
    opacity: 0.8,
    borderWidth: "10px"
  },1000);


il faut donc creuser de ce côté là

0
Bonjour et merci Jordan!
excuses-moi, j'étais très occupé à autre chose ces deux jours là.

je vais donc creuser là comme tu le conseil et je te donne des nouvelles.
0