我已将以下mootools脚本放在一起

 window.addEvent('domready', function() {
    var shouts = "timed.php";
    var log = $('log_res');
    function updateData (url,target)
    {
        new Ajax(url,{
        method: 'get', 
        update: $(target), 
        onComplete: function() {
        log.removeClass('ajax-loading');}  }).request();
        log.empty().addClass('ajax-loading');
    }

    var update = function(){ updateData ( shouts, 'log_res' ); };
    update();           // call it immediately
    update.periodical(10000);   // and then periodically

 });

继承人html

<div id="AJAX">
    <h3>Ajax Response</h3>
    <div id="log_res">exercise</div>
</div>

使用moo 1.1。

以上工作正常,页面加载然后ajax请求踢在div id中log_res有一个ajax-load类,同时它的更新,当它完成时,div中的文本练习被替换为ajax返回的任何内容( YIPPEE)。但我想将一些自定义HTML放入页面正在加载的div WHILST,因为ajax-loading类不足以包含信息,我还想将一个spinny闪存放入div中,而ajax请求正在检索信息。 希望有意义!

有帮助吗?

解决方案

使用MooTools 1.2,可按要求运行:

function updateData (url, target)
{
  var target = $(target);
  target.empty().addClass('ajax-loading');
  target.innerHTML = "Loading...";
  new Request({
    url: url, 
    method: 'get',
    onComplete: function(responseText) {
      target.removeClass('ajax-loading');
      target.innerHTML = responseText;
    }
  }).send();
}

既然你没有乐趣并且使用MooTools 1.1,我必须挖一点......实际上,我使用几乎相同的设置工作(注意我使用 target 而不是< code> log ,它是在此函数范围之外定义的):

function updateData (url, target)
{
  var target = $(target);
  target.empty().addClass('ajax-loading');
  target.innerHTML = "Loading...";
  new Ajax(url, {
    method: 'get',
    update: target,
    onComplete: function() {
      target.removeClass('ajax-loading');
    }
  }).request();
}

其他提示

你能不能做这样的事情:

function updateData (url, target)
{
  var target = $(target);
  target.innerHTML = 'Please wait...';

  //and the rest of the function
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top