我有一个带图像的变量,我想随机化图像的顺序。我尝试使用https://github.com/coolaj86/knuth-shuffle执行此操作。但是当我使用这段代码时,我得到一个"未捕获的ReferenceError:未定义图像"
(function () {
'use strict';
var images = [
'dali.jpg',
'illusionisme.png',
'impresionisme.jpg',
'popart.jpg',
'abstracter.jpg',
'abstrat.jpg',
'concept.jpg',
'fingerpaint.jpg',
'flowers.jpg',
'graffiti.jpg',
'groovy.jpg',
'skelly.jpg',
'vangogh.jpg'
]
, b
;
// The shuffle modifies the original array
// calling a.slice(0) creates a copy, which is assigned to b
b = window.knuthShuffle(images.slice(0));
console.log(b);
}());
我使用此代码从变量中提取随机图像。
$(".art").each(function(){
$(this).prepend('<img src="assets/images/' + images[Math.floor(Math.random() * images.length)] + '">');
});
答案 0 :(得分:1)
可能是images变量不在窗口对象中但在闭包中。作为快速修复(不推荐),尝试将images变量公开给窗口对象。
var images = [
'dali.jpg',
'illusionisme.png',
'impresionisme.jpg',
'popart.jpg',
'abstracter.jpg',
'abstrat.jpg',
'concept.jpg',
'fingerpaint.jpg',
'flowers.jpg',
'graffiti.jpg',
'groovy.jpg',
'skelly.jpg',
'vangogh.jpg'
]
, b
;
window.images = images;