减慢for循环的速度

时间:2013-08-16 12:07:56

标签: javascript jquery css css3 delay

我需要减慢for循环的执行速度。我必须慢慢增加div的宽度。

到目前为止,我已经尝试delay(),setTimeout(),setInterval(),但没有成功。他们似乎都表现得一样。

HTML

<body>
   <h1>Hello</h1>
    <div class="divclass">

    </div>
</body>

的jQuery

$(document).ready(function () {
    var width = $('.divclass').width();
    for (var i = 0; i < 6; i++) {
        width = width + 20;
        $('.divclass').delay(2000);
        $(".divclass").css("width", width);
    };
});

http://jsfiddle.net/RQVa8/1/

任何人都可以告诉我我的错误所在。

提前致谢。

2 个答案:

答案 0 :(得分:6)

DEMO

.animate()文档

$(".divclass").animate({width: width}, 2000);

答案 1 :(得分:4)

使用jQuery animate

$(".divclass").animate({ "width": "+=20" }, 2000);

请参阅有关+=使用相对值的部分:

  

动画属性也可以是相对的。如果提供了一个值   一个前导+=-=字符序列,然后是目标值   通过从当前加上或减去给定数字来计算   财产的价值。