2015-12-07 118 views
0

我阵列var myImages = [];,一旦我console.log()阵列(我推项目到它上面),我得到这个回:循环通过数组的Javascript

["01_img"] 
["02_img"] 
["03_img"] 
["04_img"] 
["05_img"] 

然后onClick我改变div到背景有一个阵列的背景图像。

$('.div_content').css('background-image', 'url(https://url/path/images/' + myImages + '.png)'); 

我该如何改变它,所以背景图片我有变化onClick

我试图按照例如我发现,但没有占上风:

$('.btn').on('click', function(){ 
     var myIndex = 1; 
      myIndex = (myIndex+1)%(myImages.length); 

      $('.div_content').css('background-image', 'url(https://url/path/images/' + myIndex + '.png)');) 
    }); 

任何帮助表示赞赏,感谢。

+2

问题不明确。你能否详细说明一下? –

+0

对不起,我的坏。基本上,数组中的每个项目都是一个图像名称。所以'onClick'我用数组中的项改变'div'的背景图片。我遇到的问题是它总是在第一个数组项中加载。我需要'onClick'从数组 – PourMeSomeCode

回答

2

如果我corectly理解你的问题,你应该只

var myIndex = 0; 
$('.btn').on('click', function(){ 
    $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)'); 
    myIndex = (myIndex+1)%(myImages.length); 
}); 
+0

...中随机选择一个项目,但不是* global *,只是点击处理程序关闭的东西。全球变量应避免。 –

+0

谢谢,我刚刚编辑 – suvroc

2

每次点击myIndex var设置1.删除线var myIndex = 1;myIndex作为全球定义或外部范围的myIndex变量全球变种

而且你需要使用myImages[myIndex],而不是myIndex将从myIndex取该值作为重点从myImages

var myIndex = 0; 

$('.btn').on('click', function(){ 
    myIndex = (myIndex+1)%(myImages.length); 
    $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)');) 
}); 
+0

还需要启动一个'0',并在*后使用该值增加*。 –

1
var myIndex = 0; 
$('.btn').on('click', function(){ 
     // Short hand if: If the statement is true, use the first value, else (':') the second. 
     myIndex = (myIndex+1)%(myImages.length); 
     $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)');) 
}); 

您应该通过声明数组中存储你的位置一个全局变量做到这一点:myIndex,然后递增该数字并确保它不超过数组长度(减1,因为数组长度从0开始)。

如果你想从数组随机挑,请尝试以下操作:

myIndex = Math.floor(Math.random() * myImages.length); 

然后你可以简单的要求使用myImages[myIndex]在该位置的值。

+0

@ T.J.Crowder啊是的,我从来没有这样做过。让我恢复。 – somethinghere

+0

这真的很酷。 :-)说'长度'是'5'。如果以'i = 0'开始,那么'i =(i + 1)%长度','i'将会变为0,1,2,3,4,0,1,2,3,4 ... –

+0

@TJCrowder酷 - 如果有点难以阅读(但这可能是因为我还没有用它呢..虽然这可能是好的画廊材料)。干杯 – somethinghere