如何重复执行javascript代码?假设我有一个id ='box'且innerHTML为1的DIV。然后,假设我们有一个链接“add me up”,当你点击并按住鼠标时,该函数会反复将内部html增加1,直到你放开了鼠标?
将mootools拖入场景中,如何以2秒的延迟重复运行代码?
答案 0 :(得分:1)
这里不是理想的解决方案,而是从
开始的要点var timer;
var up = function() {
var box = $('box');
var counter = box.get('text').toInt();
counter++;
box.set('text', counter);
};
$$('a#addMeUp').addEvents({
'mousedown': function(event) {
event.preventDefault();
timer = up.periodical(2000);
},
'mouseup': function() {
$clear(timer);
}
})
答案 1 :(得分:0)
<强> [编辑] 强>
var myTmr = null,
incFunc = function () {
if (!$('clickme').hasClass('down')) {
return false;
}
var box = $('box');
/* increment logic. */
box.set('text', box.get('text').toInt() + 1);
myTmr = incFunc.delay(2000);
};
$('clickme').addEvents({
'click': function (e) {
e.stop();
},
'mousedown': function (e) {
e.stop();
this.addClass('down');
incFunc();
},
'mouseup': function (e) {
e.stop();
this.removeClass('down');
$clear(myTmr);
}
});