2016-08-18 45 views
1

玩jquery,我需要关于codepen上这部分的帮助。从数组中获取随机图像的jquery按钮

我评论我需要帮助,可能有人解释如何得到一个随机的图像显示在IMG我按一下按钮

我的代码之后的部分:

$('#switch').on('click',function(){ 
    //Help with this part 
    $('h1').html("I'm supposed to switch the picture but I can't do that"); 

我需要#switch (按钮)从我提供的数组中将#duck(image)src更改为随机src。

CodePen link

+0

后的HTML,也许是链接到PEN – mplungjan

+0

对不起,只是做了它。 – Nex

+0

首先改变为'

回答

0

switch单击处理程序应该是这样的:

$('#switch').on('click', function() { 
 
    $('h1').html("I'm supposed to switch the picture but I can't do that"); //Help with this part 
 
    $(".content").find("img").attr("src", myArray[Math.floor(Math.random() * myArray.length -1)]); 
 
});

+0

哇,谢谢,这就是我所需要的。你能为我解释一下这个代码吗?为什么在数组的末尾有-1,并且可以使用我定义的可变参数从数组中获得随机img? – Nex

+0

而不是一个变量,你应该把'random'定义为一个函数,因为现在写入的全局变量将会每次返回相同的数字并且不会有帮助。 '-1'是因为数组是基于零的[1,2,3]将在索引0处具有1,在索引1处具有2,在索引2处具有3,而长度将是3 ,但是你不会在'index 3'有一个值,因此'-1' – Marta

+0

谢谢Marta。我将如何使一个函数从数组中随机返回字符串? – Nex

0

你必须设置你的img标签的src属性,就像下面。

$("img").attr('src', 'http://example.com/smith.gif') 
0

有问题beacue初始化随机变量globaly.I刚刚确定它运行时改变这个

$('#duck').attr('src', myArray[Math.floor(Math.random() * myArray.length)]); 

也删除主类单击事件为不低于neccessary.try更新的链接

http://codepen.io/anon/pen/LkvPRq

+0

所以当我想从数组中获得一个随机的字符串/图像时,我必须将它定义为一个函数而不是变量? – Nex

+0

是的,如果你想定义为变量,你需要在函数中定义它。 –