J'ai un simple diaporama qui fonctionne bien jusqu'à présent. il se compose d'un pager et des images à afficher. les deux sont une liste non ordonnée:Diaporama automatique simple dans jQuery
<ul id="keyvisualpager">
<li><a><span>Show Keyvisual 1</span></a></li>
<li><a><span>Show Keyvisual 2</span></a></li>
<li><a><span>Show Keyvisual 3</span></a></li>
</ul>
<ul id="keyvisualslides">
<li><img src="index_files/mbr_keyvisual1.jpg" alt="Keyvisual" /></li>
<li><img src="index_files/mbr_keyvisual2.jpg" alt="Keyvisual" /></li>
<li><img src="index_files/mbr_keyvisual3.jpg" alt="Keyvisual" /></li>
</ul>
L'selon le code jQuery est:
$('#keyvisualpager li a').click(function() {
// get position of a element
var mbr_index = $(this).parent().prevAll().length;
var mbr_targetkeyvisual = mbr_index + 1;
// hide current image and show the target image
$('#keyvisualslides li:visible').hide();
$('#keyvisualslides li:nth-child('+mbr_targetkeyvisual+')').show()
// remove active class from current indicator and add the same class to target indicator
$('#keyvisualpager li a').removeClass('keyvisualactive');
$('#keyvisualpager li:nth-child('+mbr_targetkeyvisual+') a').addClass('keyvisualactive');
});
initialement toutes les images sont mises à display: none; ... en cliquant sur un lien dans #keyvisualpager, l'image correspondante est affichée. en même temps, l'indicateur change en conséquence.
maintenant, mon problème:
en dehors de ce mode de navigation dans les images i besoin diaporama entier pour faire avancer automatiquement. Comment puis-je parvenir:
a) l'image suivante est présentée permet après 5 secondes et dire
b) la classe « .keyvisualactive » est ajouté au suivant un élément #keyvisualpager
Note : malheureusement, je dois utiliser jquery 1.2.1, la mise à jour n'est pas une option.
Merci pour votre aide les gars
EDIT
je suis maintenant en utilisant ce code. ça marche presque. mais après que la dernière image de l'ensemble est affichée: comment puis-je lui dire de recommencer avec la première image? Merci!
var reload = setInterval(function(){
// get position of a element
var mbr_index = $('#keyvisualpager li .keyvisualactive').parent().prevAll().length;
var mbr_targetkeyvisual = mbr_index + 2;
// alert(mbr_index+'//'+mbr_targetkeyvisual)
// hide current image and show the target image
$('#keyvisualslides li:visible').hide();
$('#keyvisualslides li:nth-child('+mbr_targetkeyvisual+')').show();
// remove active class from current indicator and add the same class to target indicator
$('#keyvisualpager li a').removeClass('keyvisualactive');
$('#keyvisualpager li:nth-child('+mbr_targetkeyvisual+') a').addClass('keyvisualactive');
}, 2000);
qui exige encore jQuery 1.2.1 là-bas, donc je peux les envoyer haine courrier? Ce code a quatre ans. – Blazemonger
Je m'occupe déjà de ça :) mais pour l'instant je dois m'en tenir à ça ... – stizzle