1

我需要减慢 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/

谁能告诉我我的错误在哪里。

提前致谢。

4

2 回答 2

6

演示

.animate()文档

$(".divclass").animate({width: width}, 2000);
于 2013-08-16T12:10:52.117 回答
4

animate为此使用 jQuery 。

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

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

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

于 2013-08-16T12:10:57.780 回答