【发布时间】:2014-10-10 11:37:39
【问题描述】:
我有一个简单的幻灯片,到目前为止还可以。它由一个寻呼机和要显示的图像组成。两者都是无序列表:
<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 中的链接,然后显示相应的图像。同时指标也随之变化。
现在,我的问题:
除了这种浏览图像的模式外,我还需要整个幻灯片自动前进。我怎样才能做到这一点:
a) 假设 5 秒后显示下一张图片
b) 类“.keyvisualactive”被添加到#keyvisualpager 中的相应元素
注意:不幸的是我必须使用 jquery 1.2.1,更新不是一个选项。
感谢你们的帮助
编辑
我现在正在使用此代码。它几乎可以工作。但是在显示集合中的最后一张图像之后:我如何告诉它从第一张图像重新开始?谢谢!
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);
【问题讨论】:
-
谁还需要 jQuery 1.2.1,所以我可以向他们发送仇恨邮件?该代码已有四年历史了。
-
我已经处理好了 :) 但现在我必须坚持下去......