0

0からまでnx秒単位でカウントし、各ステップで関数を呼び出したいと思います。

例えば:

var count = 0,
    targetCount = 100,
    duration = 500,
    timing,
    interval;

timing = duration / targetCount,

interval = setInterval(function() {
    count ++,

    console.log("call onIntervalProgress()", count);

    if(count === targetCount)
        clearInterval(interval),
        console.log("call onIntervalDone()", count)
}, timing);

問題は、私がそれを直線的にしたくないということです。その仕事にイージングを使いたいです。jQuery がタイミング関数を提供することは知っています。CSS以外のものでjQuerysの「スイング」を使用することは可能ですか?

4

2 に答える 2

1

これはあなたの質問に対する正確な答えではありませんが、役立つかもしれません。そのためにjQuery関数は本当に必要ありません。setTimeout と独自のタイミング関数を簡単に使用できます。何かのようなもの:

  var counter = 0;

  function countSomething() {

       counter++;
       // Call functions, do stuff... whatever you want

       if (counter < n) {
           setTimeout("countSomething()", 2000/counter); // Instead of 2000/counter do something that is appropriate for what you need
       }
  }

  countSomething();
于 2013-04-23T10:01:08.113 に答える
0

これは、まさに私が探していたものを実行する jQuery プラグインです。

http://www.bennadel.com/blog/2007-Using-jQuery-s-animate-Method-To-Power-Easing-Based-Iteration.htm

より良いアイデア (内部要素の作成などを除く) は大歓迎です!

于 2013-04-23T10:15:50.913 に答える