使用循环增加css属性值

时间:2015-03-19 02:47:16

标签: javascript jquery

我将一行代码放在循环中,

for ( var i=1; i<=10; i++ ) {

var left = 0;
    left += 20;

$('#item'+i).css({
        'left': left
    });
}

如何将左值增加20?目前全部设置为20,它不会增加20。

2 个答案:

答案 0 :(得分:1)

var left = 0;

for ( var i=1; i<=10; i++ ) {

left += 20;

$('#item'+i).css({ 'left': left }); }

每当你进入循环时,var left被初始化为0.因此你的值总是20。 将初始化移到循环外部。它应该按预期工作。

答案 1 :(得分:0)

为此,您需要先获取 css,然后递增并分配它:

for ( var i=1; i<=10; i++ ) {
  var left = $('#item'+i).css('left');
  left.replace("px", ""); //remove "px" from left. for example, convert "30px" to "30"
  left = parseInt(left); //convert to integer
  left += 20;
  $('#item'+i).css({ 'left': left+"px" }); 
}