幻灯片演示功能

时间:2014-05-17 21:24:28

标签: javascript jquery

我有一个幻灯片放映功能,只是将背景更改为七个不同的图像。

我有变量limit并开始索引。

它工作正常,但问题是我需要一直调用此函数(通常是?),当索引等于限制时,函数停止工作。 我该如何重置索引?

功能:

(function indexSlideShow(index) 
{
    var $limit = 7;
    setTimeout(function() 
    {
        $('#eventDetails').fadeTo(800, 1, function()
        {
            $('#eventDetails').css(
            {
                "background" : "url(images/indexImgs/bigBg/" + index + ".jpg) no-repeat",
                "background-position" : "cover"
            })
        }).fadeTo(800, 1);
    }, 4000);

    index++;

    if (index <= $limit-1) 
    {
        setTimeout(function()
        {
            indexSlideShow(index)
        },4000)
    };
})(1); 

2 个答案:

答案 0 :(得分:1)

您可以说,如果达到限制,则应在if (index <= $limit-1) {}语句之前重置索引。像这样:

if (index == $limit-1) {
    index = 0;
} 

setTimeout(function()
    {
        indexSlideShow(index)
    },4000)
};

答案 1 :(得分:0)

这是解决方案。可能对某些人有用

    /* index slide show function */
    (function indexSlideShow(index) {

        var $limit = 7;

            setTimeout(function() {

            $('#eventDetails').fadeTo(800, 1, function(){

            $('#eventDetails').css({

                "background" : "url(images/indexImgs/bigBg/" + index + ".jpg) no-repeat",
                "background-position" : "cover"
            })

            }).fadeTo(800, 1);

        }, 4000);

        index++;         

        if (index == $limit) {

            setTimeout(function(){

                 indexSlideShow(0);

            },4000);

        } else  if (index < $limit) {

            setTimeout(function(){

                indexSlideShow(index);

            },4000);
        }  

    })(1);//end index slide show function