如何更改随机元素高度

时间:2015-06-06 20:57:04

标签: javascript jquery random height

这是我的循环:

var i=0;
while( i++ < 100) {
  $( "#container" ).append('<li id="li' + i + '" class="item image"></li>');
  var y = Math.floor(Math.random() * 200) + 100;
  $('#li' + i).css({
      height: y,
  });
}

这有点像我需要它做的事情。它找到#container元素并在其中放入100个列表项,并给它们随机高度不超过300。

我真正需要做的是两件事:

  1. 我需要它来找到“ul”#container元素,然后在里面找到已经的“li”元素,并将id更改为id =“li1”,id =“ li2“,id =”li3“等可能使用attr('id','li'+ i)并给它们一个随机高度。

  2. 我需要它们的最小高度为200px。

  3. 如何使用循环执行此操作?我还是jQuery的新手,请原谅我的无知。

1 个答案:

答案 0 :(得分:1)

只需检查列表中是否有li个元素,而不是i的当前值,如果有,请更新相应的元素,而不是创建新元素。

var i=0;
while( i++ < 100) {
    if ($('#container > li').length > i - 1) $('#container > li').eq(i - 1).attr('id', 'li' + i);
    else $( "#container" ).append('<li id="li' + i + '" class="item image"></li>');
    var y = Math.floor(Math.random()* 101 + 200); //Always gives an integer between 200 and 300
    $('#li' + i).css({
        height: y,
    });
}