使用 Jquery 加载一组图像
Posted
技术标签:
【中文标题】使用 Jquery 加载一组图像【英文标题】:Loading in a set of images with Jquery 【发布时间】:2012-03-22 10:20:51 【问题描述】:我在 jquery 中有一组图像,当用户单击特定框时,我试图将其加载到一系列 div 中。在我的本地主机上一切正常,但是当我上网时。发生了一些非常奇怪的事情。
我尝试加载的 url 被拆分为每个单独的字符,并为每个字母创建单独的 div...?
这里是用于创建 div 并为所有 div 签名背景图像的代码。
for (var i = 0, len = images[index].length; i < len; i++)
$('#project_display #slides .slides_container').append($('<div></div>'))
$('#project_display #slides .slides_container div').eq(i).css('background','url(' + images[index][i] +') center center no-repeat');
images 包含其他图像的数组。 任何帮助都会很棒!
谢谢!
更新
这是图像和另一个数组创建:
` var circus = new Array(); 马戏团[0] = '图像/项目/circus1.jpg'; circus1 = 'images/projects/circus2.jpg'; 马戏团[2] = '图像/项目/circus3.jpg'; 马戏团[3] = '图像/项目/circus4.jpg'; circus[4] = 'images/projects/circus5.jpg';
var images = new Array(); 图像[0] = '图像/项目/radioshack_899.jpg'; 图像1 = 无线电图像; 图片[2] = 矮人; 图片[3] = 矮人; 图片[4] = 马戏团; `
【问题讨论】:
天哪,我又把那些眼镜放哪儿了?images
的结构是什么?
images
看起来像一个字符串数组。 images[index][i]
就等价于images[index].charAt(i)
。
所以 images 是一个数组数组,当我尝试查看它时,我想我做错了什么。 images[index][i]
images
绝对是一个字符串数组,for
将字符单独附加到div
。问题不在循环中。
【参考方案1】:
如果不查看更多内容,这有点难以判断,但是您要么在 for 循环中做错了,要么在 url(' + images[index][i] +')
中做错了。
您确定 images.length
不是您在 for 循环中寻找的内容,并且告诉我您应该删除 url() 中的 [i]
,如下所示:url(' + images[index] +')
也许应该是这样的:
for (var i = 0; i < images.length; i++)
$('<div></div>').css('background','url(' + images[i] +') center center no-repeat')
.appendTo($('#project_display #slides .slides_container'));
如果可能,您应该尝试缩短这些选择器。
【讨论】:
好吧,我几乎肯定你对url(' + images[index][i] +')
是问题的看法。问题是 images[index] 应该返回一个图像数组,然后我使用 [i]
从中进行选择。但也许我的语法不对?
@JamesDunay - 如果您上面的更新是正确的,那只是一个常规数组,而不是数组内的数组,因此 [index] 将选择该数组中的一个字符串值,并且 [i ] 将在该字符串中选择一个字符,就像 Rob W 在上面的 cmets 中所说的那样。 - 您可能需要在 for 循环中仅检查数组 images.length
的长度,然后删除 url() 的 [index] 部分,并保留 [i] 以根据迭代选择图像。以上是关于使用 Jquery 加载一组图像的主要内容,如果未能解决你的问题,请参考以下文章