Jquery每次迭代问题

时间:2011-09-09 13:36:55

标签: jquery iteration each

我得到了这个随机位置脚本。但它只适用于第一张图片......我做错了什么?

var randnumsX = [1,2,3,4,5,6,7,8];
var randnumsY = [1,2,3,4,5,6];

$('#obra img').each(function(i,el) {

    m = Math.floor(Math.random()*randnumsX.length);
    randnumsX = randnumsX.splice(m,1);
    posx = Math.floor(m * 50);

    n = Math.floor(Math.random()*randnumsY.length);
    randnumsY = randnumsY.splice(n,1);
    posy = Math.floor(n * 50);

    $(el).css({position:'absolute', left: posx + 155, top: posy});      
    $(el).fadeIn('slow');

}); 

2 个答案:

答案 0 :(得分:1)

splice返回已移除的元素,而不是删除元素的数组。

答案 1 :(得分:0)

如果您正在访问div,那么您将不需要#sign

$('div img').each(function(i,el) {

m = Math.floor(Math.random()*randnumsX.length);
randnumsX = randnumsX.splice(m,1);
posx = Math.floor(m * 50);

n = Math.floor(Math.random()*randnumsY.length);
randnumsY = randnumsY.splice(n,1);
posy = Math.floor(n * 50);

$(el).css({position:'absolute', left: posx + 155, top: posy});      
$(el).fadeIn('slow');

});