jquery内容滑块需要自动播放

时间:2012-07-24 19:15:22

标签: javascript jquery

我有这个内容滑块,我需要它像幻灯片放映,我需要自动播放

$(document).ready(function() {

$('.poveznicaDiv').click(function(){
    var broj = $(this).attr('id');
    broj = broj.split('ca');
    broj = parseInt(broj[1]);       
    $('#maskaSadrzaja').animate({'left': '-'+ 500*(broj-1) +'px'}, 'slow');
});
});

忽略他们在克罗地亚语中的id和类名:D

所以这很好但我需要自动播放

我试过这个:

slideShow();

function slideShow(){
    var i = 0;
    $('#maskaSadrzaja').animate({'left': '-'+ 500*(i) +'px'}, 'slow');
    broj++;
    // alert(i);
    if(i>5){
        i=0;
    }   
    setTimeout(slideShow, 1000);
};

但这没效果

我怎么能让它自动播放?

修改

所以我尝试了别的东西 类.poveznicaDiv的div也有一个像poveznica1,poveznica2等的id

所以我尝试添加一个点击它们的功能

这样的事情:

i=1;
function autoplay() {
$('#poveznica'+i).click();
i++;
setTimeout(autoplay, 1000);
}

为什么这不起作用? 我把它放入.ready并调用了函数(autoplay;)。 请帮忙

修改

我的滑块(和html和css)几乎与此http://www.webdeveloperjuice.com/2010/01/12/lightest-jquery-content-slider-ever-made-380-bytes/

相同

我怎么能让它自动旋转?

2 个答案:

答案 0 :(得分:1)

你没有在代码中递增i,你也必须将它传递给函数调用,因为它不是一个全局变量。

var slideShow = function(i){
  $('#maskaSadrzaja').animate({
    'left': '-' + 500*(i) + 'px'
  }, 'slow');

  broj++;

  if(i>5){
    i=0;
  }   

  setTimeout(function(){
    slideShow(i+1);
  }, 1000);
};

slideShow(0);

答案 1 :(得分:0)

将它放在Document.Ready中,或者简称

$(function() {       
var i = 0;
$('#maskaSadrzaja').animate({'left': '-'+ 500*(i) +'px'}, 'slow');
broj++;
// alert(i);
if(i>5){
    i=0;
}   
setTimeout(slideShow, 1000);

});