从Javascript变量中删除随机HTML图像
我是Javascript新手,因此如果我使用了错误的术语,我深表歉意。 我有一个代码,需要在其中显示一些HTML图像,这些图像存储为变量,包含位于特定位置(由类定义)的多个项目,例如:从Javascript变量中删除随机HTML图像,javascript,html,image,class,random,Javascript,Html,Image,Class,Random,我是Javascript新手,因此如果我使用了错误的术语,我深表歉意。 我有一个代码,需要在其中显示一些HTML图像,这些图像存储为变量,包含位于特定位置(由类定义)的多个项目,例如: var fruit=[“”+ "" + "" + "" + "" + ""], 稍后,我需要在一个更大的画面中使用所有这些项目,称为刺激,例如: stimulus: "<div class='container'> <img class='background' src='&q
var fruit=[“”+
"" +
"" +
"" +
"" +
""],
稍后,我需要在一个更大的画面中使用所有这些项目,称为刺激,例如:
stimulus: "<div class='container'> <img class='background' src='" + Background + "'>" + fruit + "</div>",
刺激:“+水果+”,
但是我只需要显示水果中列出的6个水果中的3个随机水果。
例如,我需要得到如下信息:
stimulus: "<div class='container'> <img class='background' src='" + Background + "'>" + half_fruit + "</div>",
刺激:“+half_水果+”,
其中:
var-half\u-fruit=[“”+“”+“”],
有什么方法可以做到这一点,即使我的图像在技术上不是数组的项目?
我有特定的水果组合(不只是示例中的一个,总共大约30个),我需要删除该特定组合中的3个项目,同时将其他项目保留在与之前相同的位置。这就是为什么我不将图像存储为数组中的字符串。
这些变量定义为var Banana=gorilla.stimuliURL('Banana.png');等等(Gorilla是一个创建实验的平台;stimuliURL函数从在线存储库调用图像地址)。
谢谢你抽出时间 感谢您的评论,我将变量重新排列如下。首先,我为每个图像创建变量,以便从Gorilla访问它们的地址,例如
var banana_img = gorilla.stimuliURL('banana.png');
然后,我为每个位置的每个水果创建了变量:
var banana = ["<img class='item1' src='" + banana_img + "'>", "<img class='item2' src='" + banana_img+ "'>", "<img class='item3' src='" + banana_img+ "'>", "<img class='item4' src='" + banana_img + "'>", "<img class='item5' src='" + banana_img + "'>", "<img class='item6' src='" + banana_img + "'>"];
最后,我对其进行了排序,并选择了前3个,以仅获得三个随机项:
half_fruit = fruit.sort( function() { return 0.5 - Math.random() } ).slice(0, 3).join(" ");
如果您找到更好的方法,请在下面回答或评论 如果只在数组中放入一个大字符串,为什么要声明数组?我看你应该重新整理你的数据结构。香蕉、苹果怎么样。。定义?如果put在HTML中有三个“空”的
img
元素,您可以使用JavaScript通过随机设置它们的src
属性来填充它们。您可能需要的唯一数组是由这些src
属性的一些有效值组成,比如[香蕉、苹果、葡萄、梨]
(其中banana
有一些值,比如my image folder/banana.png
)。@Lain这些变量定义为var banana=gorilla.stimuliulURL('banana.png')
等(Gorilla是一个创建实验的平台;stimuliURL函数从在线存储库调用图像地址)@Cat,但我有特定的水果
组合(不仅仅是示例中的组合,总共大约30个)我需要删除特定组合中的3项,同时将其他项保留在与以前相同的位置。顺便说一句,为了在JavaScript中构建HTML字符串,我将研究“.insertAdjacentHTML”方法()--甚至是使用document.createElement
方法和.appendChild
方法(&)的更通用、更不容易出错的技术,在这种情况下,您可能会使用.setAttribute
和.classList.add
来完成元素。
var fruit = [banana[0], apple[1], grapes[2], banana[3], grapes[4], pear[5]]
half_fruit = fruit.sort( function() { return 0.5 - Math.random() } ).slice(0, 3).join(" ");