我试图在按下时在按钮中显示一个微调器,执行速度非常快但是我想让它变慢,所以我想向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');
}
答案 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);