Mootools и повторное выполнение JS - PullRequest
1 голос
/ 23 сентября 2010

Как сделать так, чтобы коды JavaScript выполнялись повторно? Скажем, у меня есть DIV с id = 'box' и с innerHTML, равным 1. Затем, скажем, у нас есть ссылка "add me up", которая, когда вы нажимаете и удерживаете мышь, функция будет многократно увеличивать внутренний html на 1, пока ты отпустил мышь?

перетаскивание mootools в сценарий, как я могу запустить код повторно с задержкой в ​​2 секунды каждый?

Ответы [ 2 ]

1 голос
/ 23 сентября 2010

здесь не идеальное решение, а точка с

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);
    }
})
0 голосов
/ 23 сентября 2010

[Изменено]

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);
        }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...