Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有动态数组的Jquery setInterval_Jquery_Arrays_Setinterval - Fatal编程技术网

带有动态数组的Jquery setInterval

带有动态数组的Jquery setInterval,jquery,arrays,setinterval,Jquery,Arrays,Setinterval,这是我在这里的第一篇帖子,所以我不确定我的帖子标题,或者这篇帖子的其他部分是否过于宽泛或模糊 这是我解决问题的首选网站。但现在我被卡住了。我从我在这个网站上找到的一些代码中拼凑了一个jquery图像幻灯片(不是插件)。我在这里和那里做了一些修改,并添加了几个输入字段。 下面是我的问题的一个注释 我相信我的问题在于jquery代码的setInterval部分 $(function(){ $('#addimage').click(function(){ if($( "#addimag

这是我在这里的第一篇帖子,所以我不确定我的帖子标题,或者这篇帖子的其他部分是否过于宽泛或模糊

这是我解决问题的首选网站。但现在我被卡住了。我从我在这个网站上找到的一些代码中拼凑了一个jquery图像幻灯片(不是插件)。我在这里和那里做了一些修改,并添加了几个输入字段。 下面是我的问题的一个注释

我相信我的问题在于jquery代码的setInterval部分

$(function(){
    $('#addimage').click(function(){
    if($( "#addimagefield" ).val().trim().length !='' && $( "#image1" ).val().trim().length ==''){
        $( "#image1" ).val( $("#addimagefield").val().trim() );
        $( "#addimagefield" ).val( '' );
    } if($( "#addimagefield" ).val().trim().length !='' && $( "#image2" ).val().trim().length ==''){
        $( "#image2" ).val( $("#addimagefield").val().trim() );
        $( "#addimagefield" ).val( '' );
    } if($( "#addimagefield" ).val().trim().length !='' && $( "#image3" ).val().trim().length ==''){
        $( "#image3" ).val( $("#addimagefield").val().trim() );
        $( "#addimagefield" ).val( '' );
    } if($( "#addimagefield" ).val().trim().length !='' && $( "#image4" ).val().trim().length ==''){
        $( "#image4" ).val( $("#addimagefield").val().trim() );
        $( "#addimagefield" ).val( '' );
    } if($( "#addimagefield" ).val().trim().length !='' && $( "#image5" ).val().trim().length ==''){
        $( "#image5" ).val( $("#addimagefield").val().trim() );
        $( "#addimagefield" ).val( '' );
    }
    image1 = $('#image1').val();
    image2 = $('#image2').val();
    image3 = $('#image3').val();
    image4 = $('#image4').val();
    image5 = $('#image5').val();

var arr = [ image1,image2,image3,image4,image5 ];
var images = $.grep( arr, function( n, i ) {
  return n != '';
});
var cur_image = 0;
function changeBackground() {
    cur_image++;
    if ( cur_image >= images.length )
        cur_image = 0;

    // change images
    $( '.featuredImages' ).css({
        backgroundImage: 'url(' + images[ cur_image ] + ')'
    });
    $( '.featuredImages .slide' ).fadeIn( 2000, function(){
        $( this ).css({
            backgroundImage: 'url(' + images[ cur_image ] + ')'
        }).show();
    } );

};
setInterval( changeBackground, 6000 );
});
});
在搜索时,我遇到了settimeout()函数,这似乎是我需要的,但我不知道在哪里/如何实现它


非常感谢您提供的所有帮助。

问题在于您已在单击事件处理程序中声明了
changeBackground
函数,因此它仅在该范围内可用。当你尝试在外面使用它时,它是未定义的

将函数移出事件处理程序,并在函数使用变量时将
image
cur\u image
声明在该范围之外:


谢谢,这正是我想要它工作的方式,现在我只需等待2分钟,检查答案