定时递归函数和一般卡住

时间:2012-03-19 00:33:08

标签: javascript

我正在开发一个项目,为客户创建能源成本/储蓄计算器。到目前为止,我一直用纯JavaScript编写它,但我非常乐意在必要时使用jQuery。我还在开始学习这门语言,所以我提前为任何不良做法,严重错误或简单错误道歉。

有两个要求:

  1. 用户可以输入他们的能源使用信息,并通过使用客户的产品查看他们将节省多少(我到目前为止只是输入,我打算使用这些返回的值来输出节省的成本)< / p>

  2. 这些数字会在呈现时以某种方式生成。

  3. 对于动画,我只是将数字从当前位置向上或向下计数。我的问题是我完全不知道如何实现这一目标。我被告知我想在递归函数上使用一个计时器,根据旧值和新输入值递增或递减显示的数字。

    因此,当用户选择一个数字时,显示将从零开始计数到该数字,每个更改之间的间隔为300毫秒。如果他们选择不同的号码,它会向上或向下计数。

    Here is a link to the live page.由于某些原因,所选数字未显示在jsfiddle版本的DOM中。 Here is the .js file.

    我非常感谢能帮助我摆脱困境的任何帮助。正如我所说的那样,我仍处于学习JavaScript的宝宝阶段,所以我还不能完全用语言思考。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这可能足以让你开始:

http://jsfiddle.net/pLJU6/

var number = 0;
var div = $('#numberDiv');

var incrementNumber = function () {
    div.text(number);
    number++;
    setTimeout(incrementNumber, 300);
};

incrementNumber();