0

我有这段代码:

function slideshow_animateClick(){
    slideshowItem_position = 0 - (slideshowItem_place * 1920);
    $('#slideshowContent').stop().animate({'left':slideshowItem_position + 'px'}, 1000, 'swing');
  }

...这是水平幻灯片中的左/右按钮单击功能。

我需要将其复制到可循环的版本。基本上我希望幻灯片自行播放,直到单击左/右按钮。一旦发生这种情况,最好设置某种空闲时间条件,之后幻灯片将再次恢复自动播放。

完整的上下文 -小提琴

谢谢。

佩德罗

4

1 回答 1

0

编辑:在此处添加小提琴:http: //jsfiddle.net/jnS3H/12/与您的代码和修复。

要执行间隔计时器,您可以执行以下操作:

//create a function to handle the auto rotate
function autoRotate() {
    //code here for what happens every n seconds
}

//create a function that holds the interval to do an auto rotate push
function rotate(){
    var startRotate = setInterval(function(){  //Start the autorotate on load to rotate every 2 seconds.      
        autoRotate();
    }, 2000);
}

$('.rightarrow, .leftarrow').click(function(){
    clearInterval(startRotate);  //Stops the auto-animation
    clearTimeout(startAgain);   //Stops the starting again - incase you click again, it resets the timeout
    //write some code here to do something when you click on the right arrow
    var startAgain = setTimeout(function(){  //Then create a timeout to start rotating again after you click
        rotate();
    }, 2000);
});

$(document).load(function(){
    rotate();
});

当然这是非常松散的代码,你必须填空并测试它,但我相信主体是正确的。

于 2013-04-18T20:42:21.630 回答