У меня есть простое слайд-шоу, которое пока работает нормально. он состоит из пейджера и изображений для отображения. оба являются неупорядоченным списком:
<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>
Соответствующий код jQuery:
$('#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');
});
изначально все изображения настроены на отображение: нет; ... upcon, щелкнув ссылку в #keyvisualpager, отобразится соответствующее изображение. в то же время индикатор меняется соответственно.
Теперь моя проблема:
Помимо этого режима навигации по изображениям, мне нужно целое слайд-шоу для автоматического продвижения. Как я могу достичь этого:
а) следующее изображение показывается после, скажем, 5 секунд и
b) класс ".keyvisualactive" добавлен к соответствующему элементу в # keyvisualpager
примечание: к сожалению, я должен использовать jquery 1.2.1, обновление не вариант.
спасибо за вашу помощь, ребята
EDIT
Я сейчас использую этот код. это почти работает. но после того, как отображается последнее изображение в наборе: как я могу сказать, чтобы оно началось с первого изображения? спасибо!
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);