读书人

jquery背景轮换有关问题?求解

发布时间: 2013-07-08 14:13:00 作者: rapoo

jquery背景轮换问题?求解!
本帖最后由 a756375788 于 2013-06-22 18:07:50 编辑 正在写一个背景轮换的功能,自动播放,上一张,下一张这三个功能都实现了,但是还有一个功能没能实现,请各位大侠帮忙:问题如下:

当我点击下一张或者上一张图片的时候,背景自动播放时间从0开始(自动播放时间我设置为3秒),也就是我点击下一张图片的时候,过三秒后再更换背景图;
而不是接我点击前的时间(现在遇到的问题就是,我在第2秒点击下一张的时候,1秒后它就又更换背景了,我需要的是同样3秒后才更换背景)

我的代码如下:


$(document).ready(function () {

$('.banner').css("backgroundImage","url(images/bg_1.jpg)");
var m=$(".n_m_bn").find("img").length;
var t=1;
var time_1=3000;
function show_bg(){

if(t<m){
t++;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);

}
else{
t=1;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);
}
}
var setin=setInterval(show_bg,time_1);

$("#nextList").click(function(){
if(t<m){
t++;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);
}
else{
t=1;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);
}
})

$("#prevList").click(function(){
if(t>1 && t<=m){
t--;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);
}
else{
t=4;
var a="url(images/bg_"+t+".jpg)";

$('.banner').css("backgroundImage",a);
}
})
jQuery JavaScript
[解决办法]
点击的时候用clearInterval把之前发起的interval清掉。在点击函数的最后再重新发起一个interval
[解决办法]
很简单的,在你每个click事件里,增加一个clearInterval(setin) 和一个setin=setInterval(show_bg,time_1);就可以了

读书人网 >JavaScript

热点推荐