由于项目需要实现两处数据每时每刻动态变化的效果。就是投大屏的那种, 数据不停的向上增长,不是从0开始的那种。
纯jquery代码,模拟数据动态增长,无后台数据交互,如下:
<body>
<div><span class="count">10</span></div>
<div><span class="count">10</span></div>
</body>
setInterval(function(){
$('.count').each(function () {
var v = $(this).text();
$(this).prop('Counter',v).animate({
Counter: parseInt(v) + parseInt(Math.random() * 20)
}, {
duration: 2000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
}, 5000);
上述代码实现的效果是:
每5秒动态增长一次, 不是从零开始。 每次都从现有的数值上,随机增加 0~20. 这样就不需要后台交互就可以模拟出动态效果。
具体项目上, 美化一下就很实用了。