JavaScript / jQuery - 在更改时第二次输入原始值和第二次输入上一个值

时间:2014-05-05 18:28:28

标签: javascript jquery

我想让值为animate,但是使用我使用的函数,过去的值需要存储在某个地方(不确定在哪里)

HTML

<input type="text" id="text" value="100">
<h1>My value: <span id="text-output">100</span>

JS

$input = $('#text');
    $input.on('change', function(){
        var val = $(this).val();
        var memoryValue = 1; //I need this to be original value first time and previous value second times

        animateNumber($('#text-output'), memoryValue, val, 300);

    })

小提琴:http://jsfiddle.net/v5Sa7/

我创建了一个具有类的dom元素,每次更改值时都会增加类名,但如果值多次更改,则会变得很难看。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以为元素分配数据属性。 jQuery.data()

$input = $('#text');
$this.data("previousVal", 100); //Initialize the data attribute to 100
$input.on('change', function(){
    var $this = $(this);
    var val = $this.val();
    var memoryValue = $this.data("previousVal");
    $this.data("previousVal", val);
    animateNumber($('#text-output'), memoryValue, val, 300);
})