如何向此js添加计时器,以便在'x'时间后图像会自动更改。目前,通过带有'rel'属性的'a href'进行更改,但仍需要具有'rel'的功能。
js:
$(document).ready(function (){
$('#button a').click(function(){
var integer = $(this).attr('rel');
$('#myslide .cover').css({left:-1476*(parseInt(integer)-1)}).hide().fadeIn(); /*----- Width of div mystuff (here 160) ------ */
$('#button a').each(function(){
$(this).removeClass('active');
if($(this).hasClass('button'+integer)){
$(this).addClass('active')}
});
});
});
HTML:
<div id="myslide">
<div class="cover">
<div class="mystuff">
<img src="images/header_01.jpg" rel="1"></img>
<img src="images/header_02.jpg" rel="1"></img>
<img src="images/header_03.jpg" rel="1"></img>
</div>
</div>
答案 0 :(得分:5)
您应该考虑使用setInterval和一组图像来更改源。这将迫使图像连续循环
var images = ['header_01.jpg','header_02.jpg','header_03.jpg'],
index = 0, // starting index
maxImages = images.length - 1;
var timer = setInterval(function() {
var curImage = images[index];
index = (index == maxImages) ? 0 : ++index;
// set your image using the curImageVar
$('div.mystuff img').attr('src','images/'+curImage);
}, 1000);
答案 1 :(得分:0)
您可以使用setTimeout函数调用预定义函数来更改图像,如下所示:
var changeImage = function (){
<code>
};
var t = setTimeout(changeImage, <time in milliseconds>);
确保您没有致电setTimeout(changeImage(), <time in milliseconds>);
(请注意两个括号)
这是要避免的,你应该尝试使用函数而不是字符串作为setTimeout()的第一个参数进行评估。
或者,您可以使用匿名函数而不是创建changeImage。 实施例
var t = setTimeout(function() { <code>}, <time in milliseconds>);