将自动播放添加到基本 jQuery 滑块

add autoplay to basic jquery slider

本文关键字:jQuery 滑块 自动播放 添加      更新时间:2023-09-26

我正在为类制作一个基本的jQuery滑块。 并希望让它在5秒后自动播放下一张幻灯片,但在它没有做我认为它应该做的事情之前没有使用计时器。它等待适当的间隔,然后不断触发回调函数。

//basic slider on click
$('.slider>ul>li').click(function()
{
    $('.slider>ul>li').removeClass('current');
    $(this).toggleClass('current');
    right=$(this).index()*745;
    $(this).parent('ul').parent('.slider').children('div').children('ul').animate({'right': right}, 1000, 'easeOutBack');
})
//attempt to use timer plugin to auto play
$('.slider>ul>li').timer(
{
        delay: 1000,
        callback: function()
        {alert($('.slider>ul>li.current').index())
            if($('.slider>ul>li.current').index()!=3)
            {
                $('.slider>ul>li.current').next('li').click();
            }else//oddly this doesn't trigger at all
            {
                $('.slider>ul').first().click();
            }
        }
})

试试这个:

setInterval(function(){
  var i = $('.slider>ul>li.current').index();
  var next = (i < 3 ? i+1 : 0);
  var items = $('.slider>ul>li');
  $(items[next]).click();
}, 5000);

编辑:将设置超时更改为设置间隔,并将时间提高到 5 秒; 这现在应该循环。