Mootools和重复的js执行

时间:2010-09-23 08:13:07

标签: javascript mootools

如何重复执行javascript代码?假设我有一个id ='box'且innerHTML为1的DIV。然后,假设我们有一个链接“add me up”,当你点击并按住鼠标时,该函数会反复将内部html增加1,直到你放开了鼠标?

将mootools拖入场景中,如何以2秒的延迟重复运行代码?

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);
        }
});