自定义Slider jQuery setInterval

时间:2014-08-04 13:27:49

标签: jquery slide

我用jQuery创建了一个自定义滑块,它运行得很好,但我有一个定时器的错误。

我有这个:

setInterval(function(){
  $('.slider span.right').click();
}, 6000 ); 

单击我的“nextslide”箭头,问题是,如果我继续其他页面并稍后再回来,我没有看到每张幻灯片都快速滑动直到实际。 (我看到之前隐藏的所有幻灯片)

有人可以向我解释我做错了吗?

谢谢!

编辑:

    $(document).ready(function(){
        $('.slider li.current').fadeIn();
        $('.slider span.right').click(function(){
            current = $('.slider li.current');
            if(current.next('li').length){
                current.fadeOut();
                current.removeClass('current').next('li').fadeIn().addClass('current');
            }else{
                current.removeClass('current').fadeOut();
                $('.slider ul li').first().addClass('current').fadeIn();
            }

        });
        $('.slider span.left').click(function(){
            current = $('.slider li.current');
            if(current.prev('li').length){
                current.fadeOut();
                current.removeClass('current').prev('li').fadeIn().addClass('current');
            }else{
                current.removeClass('current').fadeOut();
                $('.slider ul li').last().addClass('current').fadeIn();
            }

        });
        setInterval(function(){
            $('.slider span.right').click();
        }, 6000 );       
    });

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码,您可以获得下一次幻灯片移动的时间间隔。

 $(document).ready(function(){
    $('.slider li.current').fadeIn();
    setInterval(function(){
      $('.slider span.right').click(function(){
        current = $('.slider li.current');
        if(current.next('li').length){
            current.fadeOut();
            current.removeClass('current').next('li').fadeIn().addClass('current');
        }else{
            current.removeClass('current').fadeOut();
            $('.slider ul li').first().addClass('current').fadeIn();
        }

    }, 6000 ); 
    setInterval(function(){
       $('.slider span.left').click(function(){
        current = $('.slider li.current');
        if(current.prev('li').length){
            current.fadeOut();
            current.removeClass('current').prev('li').fadeIn().addClass('current');
        }else{
            current.removeClass('current').fadeOut();
            $('.slider ul li').last().addClass('current').fadeIn();
        }

    }, 6000 ); 

 });