【发布时间】:2017-07-13 12:15:53
【问题描述】:
我有这个 for 循环,我正在创建一堆用作“表情符号雨”的图像
var icons = ['balloon',
'clapping-hands-light-skin-tone',
'clapping-hands-medium-skin-tone',
'crazy-face',
'face-blowing-a-kiss',
'grinning-face-with-smiling-eyes',
'heart-suit',
'money-bag',
'man-dancing',
'money-mouth-face',
'money-with-wings',
'party-popper',
'victory-hand-light-skin-tone',
'victory-hand-medium-dark-skin-tone',
'woman-dancing'];
for(i = 0; i < icons.length; i++) {
left = (Math.random() * (document.querySelector('#site').offsetWidth) - 75);
top = parseInt(Math.random() * (i * 125));
img = document.createElement("img");
img.src = 'src/public/icons/rain/'+ icons[i] +'.svg';
img.style.left = left +'px';
img.style.top = top +'px';
img.style.position = 'absolute';
rainElement.appendChild(img);
}
我想要的是使用setTimeout 添加“fall”类,以便图标在不同时间开始下降。
我有这个
(function(i) {
setTimeout(function() {
img.addClass('fall');
}, i*750);
})(i);
}
但这只会将“fall”添加到最后一个元素。我无法弄清楚如何在所有图像上执行此操作。
【问题讨论】:
标签: javascript html arrays for-loop settimeout