16

jqueryで変数を「アニメーション化」する必要があります。

例: 変数値は1です。値は5秒後に10になるはずです。「スムーズに」増やす必要があります。

あなたが私の意味を知っていることを願っています。

ありがとうございました!

4

10 に答える 10

25

試す:

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

<div id="el"></div>
于 2012-09-07T12:07:28.567 に答える
13

必要なのは、$().animate関数のステップパラメーターです。

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

デモ

于 2012-09-07T11:56:32.177 に答える
10

表現

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

デモ

于 2014-03-07T12:55:27.047 に答える
2

これはあなたのために働くはずです:

var a = 1;
var b = setInterval(function() {
  console.log(a);
  a++;
  if (a == 10) { clearInterval(b); }
}, 500);
于 2012-09-07T11:54:00.590 に答える
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*/}
于 2012-09-07T11:51:50.987 に答える
0

HtmlはHtmlとしてマークアップします

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

5秒後に値を変更できます。
JQuery:

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

これがデモですhttp://jsfiddle.net/Simplybj/Fbhs9/

于 2012-09-07T11:57:56.663 に答える
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;
};
于 2015-05-29T08:32:49.223 に答える
0

これを試して:

var varToAnimate = 1;
$(window).animate({
    varToAnimate: 10
}, 5000);

注:これは、変数がvar varToAnimateまたはで設定されている場合にのみ機能しますwindow.varToAnimate

変数を設定すると、ウィンドウオブジェクトにプロパティが作成されます。jQuery.animate()プロパティをアニメートするので$(window)、ウィンドウオブジェクトを取得しvarToAnimate: 10、ウィンドウのvarToAnimateプロパティを10にアニメートします。

于 2021-09-04T19:20:24.853 に答える
-1
​var blub = 1;
setTimeout(function () {
    blub = 10;
}, 5000);
于 2012-09-07T11:52:21.967 に答える
-1

でインクリメントsetTimeout

x = 1

for(i=0;i<1000;i+=100){
  setTimeout(function(){
    console.log(x++)
  },i)
}
于 2012-09-07T11:53:51.750 に答える