我有一个有很多div的网站:
var cubes = [];
var allCubes = '';
for(var i = 0; i < 857; i++) {
var randomleft = Math.floor(Math.random()*1000),
randomtop = Math.floor(Math.random()*1000);
allCubes += '<div id="cube'+i+'" class="cube" style="position: absolute; left: '+randomleft+'px; top: '+randomtop+'px; width: 7px; height: 7px; z-index: -1"></div>';
}
$('body').append(allCubes);
我想用css3-transition制作每个div的动画,因此我正在做另一个循环来给它们一个ID。
for(var i = 0; i < 857; i++) {
cubes.push($('#cube'+i));
}
但是如何在变量中缓存所有$('#cubeX')
?不建议这样做,因为我用它做了很多动画。
干杯
答案 0 :(得分:2)
如果你真的想要缓存对象,在这种情况下你可以使用像
这样的对象var cubes = {};
var allCubes = '';
for (var i = 0; i < 857; i++) {
var randomleft = Math.floor(Math.random() * 1000),
randomtop = Math.floor(Math.random() * 1000);
allCubes += '<div id="cube' + i + '" class="cube" style="position: absolute; left: ' + randomleft + 'px; top: ' + randomtop + 'px; width: 7px; height: 7px; z-index: -1"></div>';
}
$('body').append(allCubes);
for (var i = 0; i < 857; i++) {
cubes['cube' + i] = $('#cube' + i)
}
function getCube(index){
var cube = cubes['cube' + index];
if(!cube){
cube = $('#cube' + index);
cubes['cube' + index] = cube;
}
return cube;
}
//then you can access the cubes via
getCube(1)
getCube(2)
getCube(3)
答案 1 :(得分:0)
不是给它们所有唯一的id,而是将相同的类添加到所有它们 - 或者使用现有的cube
类。然后你可以选择动画的那个类。
var toAnimate = $('.cube');