Javascript jQuery图像滑块-奇怪的行为

Javascript jQuery图像滑块-奇怪的行为,javascript,jquery,css,image,slideshow,Javascript,Jquery,Css,Image,Slideshow,我正在为WordPress网站创建一个图像滑块。它只起局部作用,按预期显示“显示”和“隐藏”行为,但它不会切换div的“背景图像”CSS属性 指向图像的链接位于一个数组中,一个变量计数器在该数组的所有索引之间切换。使用“alert()”我能够确定它工作得非常好(所有操作都正确执行),但似乎工作得太快并导致溢出。我不确定它是否在每次运行时都以正确的顺序执行操作。你能帮我吗 这就是我从控制台得到的错误: Uncaught RangeError: Maximum call stack size exc

我正在为WordPress网站创建一个图像滑块。它只起局部作用,按预期显示“显示”和“隐藏”行为,但它不会切换div的“背景图像”CSS属性

指向图像的链接位于一个数组中,一个变量计数器在该数组的所有索引之间切换。使用“alert()”我能够确定它工作得非常好(所有操作都正确执行),但似乎工作得太快并导致溢出。我不确定它是否在每次运行时都以正确的顺序执行操作。你能帮我吗

这就是我从控制台得到的错误:

Uncaught RangeError: Maximum call stack size exceeded
这是我的滑块代码:

jQuery( document ).ready(function($) {
    var imgArray = [];
    imgArray.push("url(/projekty/sklep/wp-content/themes/maxshop/images/rotate/drugi.jpg)");
    imgArray.push("url(/projekty/sklep/wp-content/themes/maxshop/images/rotate/trzeci.jpg)");
    imgArray.push("url(/projekty/sklep/wp-content/themes/maxshop/images/rotate/czwarty.jpg)");
    imgArray.push("url(/projekty/sklep/wp-content/themes/maxshop/images/rotate/piaty.jpg)");
    var i = 0;
    myWay(imgArray, i);


    function myWay(theArray, number) {
        $('#left-title-bar').show(500).delay(7000);
        $('#left-title-bar').css("background",""+ theArray[number] + "");
        $('#left-title-bar').hide(500);
        if (number==3) {
            number = 0;
        } else {
            number = number+1;
        }
        myWay(theArray, number);
    }
});

您的问题是使用递归时没有终止条件, 在您的情况下,您根本不应该使用递归,请尝试使用
setInterval(functionName,毫秒)
。 setInterval将每隔
毫秒调用
functionName
一次

function myWay() { // make n and theArray in the outer scope of the function
    $('#left-title-bar').hide(500,function (){
        $('#left-title-bar').css("background",""+ theArray[number] + "");
        $('#left-title-bar').show(500);
        if (number==3) {
           number = 0;
        } else {
            number = number+1;
        }

    }); //delay will not pause the code
}
setInterval(myway,2000) //will run myway once each 2 seconds 

编辑:在更改图片之前等待图片更改

您有一个无限循环。您的函数
myWay
调用自身。这会导致JavaScript出现问题。那么我如何反复调用它以避免溢出呢?我想让我的代码不断切换图像。你太棒了,谢谢。我唯一剩下的问题是,图像交换是在图像仍然可见的情况下完成的。我希望javascript在图像“隐藏”后执行它。有没有简单的解决方法?使用回调函数编辑代码以反映这一点谢谢。我很感激你的帮助,可惜我的名声太低了,你的回答没有用。我一定会在我得到15分钟的代表后马上做。一点也不,我以前也有同样的低声誉问题:D