我想让值为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元素,每次更改值时都会增加类名,但如果值多次更改,则会变得很难看。
有什么想法吗?
答案 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);
})