Mootools Spinner有延迟

时间:2013-12-18 08:44:41

标签: javascript css mootools

我试图在按下时在按钮中显示一个微调器,执行速度非常快但是我想让它变慢,所以我想向hide微调器添加一个延迟,然后执行另一个函数。 我所拥有的是:

$$('.LinkButton').each(function (el) {
    el.addEvent('click', function (e) {
        e = new Event(e);
        e.stop();
        var data = MyData Parameters;
        var ID = MyID;
        loadingSpinner = new Spinner(el, { containerPosition: { relativeTo: el, position: 'left', class: 'spinner-img' } });
        var myRequest = new Request.HTML({
            method: 'post', url: 'URL.ashx',
            onRequest: function () {
                loadingSpinner.show(true);
                SetButtonEnable(ID);

            },
            onSuccess:
                function()
                {
                    loadingSpinner.hide(true).delay(5000);
                    TextOut(el.get('title'));

                }
        });

        myRequest.send(data);
    })
})

正如你所看到的那样非常简单!我只是按下按钮来显示微调器,禁用按钮,等待几秒钟,然后隐藏微调器,并在插入元素的div上放置文本。多数民众赞成,但我不知道如何延迟是不可能的...... 任何建议的人...... 感谢!!!

编辑:

function TextOut(Title) {
    var elementAdd = new Element('div', { 'class': 'MyClass', 'text': Title, 'styles': { 'opacity': 0 } });
    elementAdd.inject($('DivElement'), 'top').fade('in');
}

1 个答案:

答案 0 :(得分:2)

我看不到像TextOut这样的源代码,但是......

function() {
    // create an anonymous function that does both. 
    (function(){
        loadingSpinner.hide(true);
        TextOut(el.get('title'));
    }).delay(5000); // optional context (this) and args after 5000
}

// also works
loadingSpinner.hide.delay(5000, loadingSpinner, true);