Jquery按钮从数组中获取随机图像

Jquery按钮从数组中获取随机图像,jquery,arrays,button,random,Jquery,Arrays,Button,Random,正在使用jquery,我需要有关codepen的这一部分的帮助 我评论了我需要帮助的部分,有人能解释一下在我点击按钮后如何在img上显示随机图像吗 我的代码: $('#switch').on('click',function(){ //Help with this part $('h1').html("I'm supposed to switch the picture but I can't do that"); 我需要#开关(按钮)将#duck(图像)src从我提供的数组更改为

正在使用jquery,我需要有关codepen的这一部分的帮助

我评论了我需要帮助的部分,有人能解释一下在我点击按钮后如何在img上显示随机图像吗

我的代码:

$('#switch').on('click',function(){
  //Help with this part 
  $('h1').html("I'm supposed to switch the picture but I can't do that"); 
我需要#开关(按钮)将#duck(图像)src从我提供的数组更改为random src。


您必须设置img标签的src属性,如下所示

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

您必须设置img标记的src属性,如下所示

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

您的
开关
单击处理程序应如下所示:

$(“#开关”)。打开('click',函数(){
$('h1').html(“我应该切换图片,但我不能这样做”);//这部分的帮助
$(.content”).find(“img”).attr(“src”,myArray[Math.floor(Math.random()*myArray.length-1)];

});您的
开关
单击处理程序应如下所示:

$(“#开关”)。打开('click',函数(){
$('h1').html(“我应该切换图片,但我不能这样做”);//这部分的帮助
$(.content”).find(“img”).attr(“src”,myArray[Math.floor(Math.random()*myArray.length-1)];

});当您全局初始化随机变量时出现问题。我刚刚通过更改此选项定义了它的运行时

$('#duck').attr('src', myArray[Math.floor(Math.random() * myArray.length)]);
同时删除不必要的主类单击事件。请尝试下面更新的链接


当您全局初始化随机变量时出现问题。我刚刚通过更改此选项定义了它的运行时

$('#duck').attr('src', myArray[Math.floor(Math.random() * myArray.length)]);
同时删除不必要的主类单击事件。请尝试下面更新的链接


将HTML和链接发布到钢笔对不起,刚刚做了。首先更改为
将HTML和链接发布到钢笔对不起,刚刚做了。首先更改为
哇,谢谢,这正是我需要它做的。你能给我解释一下代码吗?为什么数组的末尾是-1,我可以使用我定义的变量从数组中获取随机img吗?您应该将
random
定义为一个函数,而不是变量,因为现在编写的全局变量每次返回相同的数字时都会返回,不会有帮助。
-1
是因为数组是基于零的[1,2,3]将在
索引0
处有1个,在
索引1
处有2个,在
索引2
处有3个,而长度将是3,但在
索引3
处没有值,因此
-1
谢谢Marta。如何创建一个从数组中随机返回字符串的函数?一个更通用的函数如下:
function getRandomArrayItem(array){return array[Math.floor(Math.random()*(array.length-1))];}
Wow谢谢,这就是我需要它做的。你能给我解释一下代码吗?为什么数组的末尾是-1,我可以使用我定义的变量从数组中获取随机img吗?您应该将
random
定义为一个函数,而不是变量,因为现在编写的全局变量每次返回相同的数字时都会返回,不会有帮助。
-1
是因为数组是基于零的[1,2,3]将在
索引0
处有1个,在
索引1
处有2个,在
索引2
处有3个,而长度将是3,但在
索引3
处没有值,因此
-1
谢谢Marta。如何创建一个从数组中随机返回字符串的函数?一个更通用的函数如下:
function getRandomArrayItem(array){return array[Math.floor(Math.random()*(array.length-1))];}
因此,当我想从数组中获取随机字符串/图像时,我必须将其定义为函数而不是变量?是的,如果你想定义为变量,你需要在函数中定义它。所以当我想从数组中获取随机字符串/图像时,我必须将它定义为函数而不是变量?是的,如果你想定义为变量,你需要在函数中定义它。