jquery“animate”变量值

时间:2012-09-07 11:47:58

标签: javascript jquery variables jquery-animate

我需要使用jquery“动画化”变量。

示例: 变量值为1. 5秒后该值应为10。 它应该“平稳地”增加。

希望你知道我的意思。

谢谢!

9 个答案:

答案 0 :(得分:23)

尝试:

$({someValue: 0}).animate({someValue: 10}, {
    duration: 5000,
    step: function() { 
        $('#el').text(Math.ceil(this.someValue));
    }
});

<div id="el"></div>

答案 1 :(得分:11)

您需要的是$().animate功能中的步骤参数。

var a = 1;
jQuery('#dummy').animate({ /* animate dummy value */},{
    duration: 5000, 
    step: function(now,fx){ 
        a = 1 + ((now/100)*9); 
    }
});

demo

答案 2 :(得分:9)

representation

var snail = {speed:0};
$(snail).animate({speed: 10}, 5000);

demo

答案 3 :(得分:2)

这应该适合你:

var a = 1;
var b = setInterval(function() {
  console.log(a);
  a++;
  if (a == 10) { clearInterval(b); }
}, 500);

答案 4 :(得分:1)

​var blub = 1;
setTimeout(function () {
    blub = 10;
}, 5000);

答案 5 :(得分:0)

使用setInterval:

percentage = 0;
startValue = 1;
finishValue = 5;
currentValue = 1;
interval = setInterval(function(){ 
   percentage ++; 
   currentValue = startValue + ((finishValue - startValue) * percentage) / 100;
   doSomething(currentValue);
   if (percentage == 100) clearInterval(interval);
 }, duration / 100)

function doSomething(val) { /*process value*/}

答案 6 :(得分:0)

setTimeout

递增
x = 1

for(i=0;i<1000;i+=100){
  setTimeout(function(){
    console.log(x++)
  },i)
}

答案 7 :(得分:0)

Html标记为
HTML

<span id="changeNumber">1</span>

您可以在5秒后更改其值 的 JQuery的:

setInterval(function() {        
        $('#changeNumber').text('10');
    },5000);

以下是演示http://jsfiddle.net/Simplybj/Fbhs9/

答案 8 :(得分:0)

作为Ties回答的补充 - 你不需要将事件元素附加到DOM。我是这样做的:

$.fn.animateValueTo = function (value) {

    var that = this;

    $('<span>')
        .css('display', 'none')
        .css('letter-spacing', parseInt(that.text()))
        .animate({ letterSpacing: value }, {
            duration: 1000,
            step: function (i) {
                that.text(parseInt(i));
            }
        });

    return this;
};