Sous $(document).ready(function()
, j'ai le code suivant:Le diaporama Jquery personnalisé ne veut pas être réinitialisé?
num = $("#mainContentCategoryLinksWrapper > div").size();
Cela rend num égale à la longueur des enfants de #mainContentCategoryLinksWrapper
. À l'heure actuelle, ce qui équivaut à 4. Au-dessus du $(document).ready(function(
J'ai ceci:
var timesRun = 0;
function slideshow(){
if(timesRun < num){
$(".arrowIn").stop().animate({color: "#a12324", textIndent: "30px", backgroundPosition: '0px 0px'}, 100, function(){ //the first child in the series has a class of "arrowIn"
$(".arrowIn").next().addClass("replaceMe"); //Adds the ".replaceMe" placeholder the the next element.
$(".arrowIn").removeClass("arrowIn"); //Deletes the class on the current element
$(".replaceMe").addClass("arrowIn").removeClass("replaceMe"); //reassigns ".arrowIn" over ".replaceMe"
timesRun = timesRun + 1; //increases number of times run
}).prev().animate({color: "#000000", textIndent: "25px", backgroundPosition: '0px -25px'}, {duration: 50}); //puts the previous element back to it's original position
}else{
timesRun = 0;
$(".arrowIn").removeClass("arrowIn");
$("#mainContentCategoryLinksWrapper:first-child").addClass("arrowIn"); //this is supposed to reset timesRun, and set the first child in the series back to the original ".arrowIn"
}
}
setInterval('slideshow()', 1000);
Voici donc le rôle du code:
1) tend le premier dans la série de 4 (# 1) timesRun = 1 2) Anime le second de la série de 4 (# 2) timesRun = 2 3) Anime le troisième de la série de 4 (# 3) timesRun = 3 4) Anime le quatrième de la série de 4 (# 4) timesRun = 4 5) timesRun est maintenant plus long que num. Réinitialisez les noms de classe à l'original .arrowIn, réglez timesRun sur 0.
Toutefois, lorsque le diaporama() est réexécuté, il ne recommence pas.
Des idées? Voir www.raceramps.com/v3 pour un exemple.
Je mis à jour ma réponse – Kronass