Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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在不同的背景下循环_Jquery_Loops_Background - Fatal编程技术网

jquery在不同的背景下循环

jquery在不同的背景下循环,jquery,loops,background,Jquery,Loops,Background,我正在尝试为一个div改变不同的背景,使其在一系列图像中循环,并每5秒计时一次 这是我的密码: function changeBG(){ //array of backgrounds var array = ["test.jpg", "test2.jpg", "test3.jpg",]; for ( var i=0, len=array.length; i<len; ++i){ $('.round-mask').css('backgro

我正在尝试为一个div改变不同的背景,使其在一系列图像中循环,并每5秒计时一次

这是我的密码:

function changeBG(){

     //array of backgrounds
     var array = ["test.jpg", "test2.jpg", "test3.jpg",];


     for ( var i=0, len=array.length; i<len; ++i){
         $('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');

      }

}

window.setInterval(changeBG(), 5000);
函数更改bg(){
//背景阵列
var数组=[“test.jpg”、“test2.jpg”、“test3.jpg”,];
对于(var i=0,len=array.length;i请重试~

var现在=0;
var int=self.setInterval(“changeBG()”,1000);
var数组=[“001.jpg”、“002.jpg”、“003.jpg”,];
函数changeBG(){
//背景阵列
now=(now+1)%array.length;
$('.round mask').css('background-image','url('+array[now]+'));
}
忘了这件事吧~

 for ( var i=0; i<array.length; i++){
 $('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');

  }
for(var i=0;i试试这个

var i =0 ;

//array of backgrounds
var array = ["test.jpg", "test2.jpg", "test3.jpg"];

function changeBG(){
    if ( i > array.length -1) {
        i = 0;
    }

    $('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');
    i++;
}

window.setInterval(changeBG(), 5000);

像这样的方法应该会奏效:

var i = 0;

function changeBG(){

     //array of backgrounds
     var array = ["test.jpg", "test2.jpg", "test3.jpg",];



    $('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');

    if(i == array.length -1){
         i= 0;
    }
    else{
        i++;
    }


}

这真的很有效。2014年

var i =0 ;

//array of backgrounds
var array = [
    "1.jpg", 
    "2.jpg", 
    "3.jpg", 
    "4.jpg", 
    "5.jpg", 
    "6.jpg", 
    "7.jpg", 
    ];

function changeBG(){
    if ( i > array.length -1) {
        i = 0;
    }

    $('.slideContainer').css('background-image', 'url("img/backgrounds/'+array[i]+'")');
    i++;
}

window.setInterval("changeBG()", 5000);


for循环在数组中循环,并在每次循环时用新的背景图像替换背景图像,使最后一个图像始终出现。不要使用%3,请使用%array.length,谢谢,这是我的错误:)注意如何调用
setInterval
您应该向它传递一个对函数的引用,一个回调
当您仅传递函数时,它将简单地运行该函数。如果您将其作为回调传递
changeBG
,它将在每个间隔运行该函数。它可以工作,但它循环4次而不是3次,第4次返回“未定义”@Mauro74确保去掉数组中的尾随逗号;@Patricia谢谢!@Mauro74您做了什么确定数组中没有尾随逗号吗?是的,这将断为.b/c数组。长度为3。因此,如果i=3,它将尝试获取第四个元素,b/c数组为0索引。因此,需要检查数组。长度-1:)确实解决了for循环问题,但没有解决使值现在为“0,1,2,0,1,0,1,2,…”的总体问题:)那么当数组中有3个以上的项目时会发生什么呢?同样,不,它不算数组的长度!我一直给你正确的答案ago@mcgrailm:哈哈~你说得对,这是我的错,我们应该使用array.length如果你的数组中有三个以上的项,那么这个将被破坏。如果(i==2),你应该更改
if
to
if(i==array.length)
否则,如果数组中的图像多于3个,它将只显示前3个。@scoobler不,实际上,它应该是array.length-1。array.length将失败。b/c数组索引是基于零的。我想,如果(i==(array.length-1))它实际上应该是
if(i==(array.length-1))
它是基于array.PS+1的零基索引,非常接近。如果我们想获得真正的技术性,我们应该将array.length-1放入一个变量中并使用它,这样它就不必在每个变量上查找它
var i =0 ;

//array of backgrounds
var array = [
    "1.jpg", 
    "2.jpg", 
    "3.jpg", 
    "4.jpg", 
    "5.jpg", 
    "6.jpg", 
    "7.jpg", 
    ];

function changeBG(){
    if ( i > array.length -1) {
        i = 0;
    }

    $('.slideContainer').css('background-image', 'url("img/backgrounds/'+array[i]+'")');
    i++;
}

window.setInterval("changeBG()", 5000);
$(element).on("click",function(){
  $("<div>").css("background-image", "url("+array[(i-1)]+")");
if (i == array.length){
 i=1;
}
else {
 i++;
}
})
$(element).css("background-image", "url("+array[(i-1)]+")");
i == bb.length ? i=1 : i++;