0

私は次の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>

moo1.1を使用しています。

上記は正常に機能し、ページが読み込まれ、次にajaxリクエストがdivにキックされますid log_resは、更新中にajax-loadingのクラスを持ち、終了すると、divのテキスト演習はajaxが返したもの(yippee)に置き換えられます。しかし、ページの読み込み中にカスタムHTMLをdivに入れたいのですが、ajax-loadingクラスでは情報を含めるのに十分ではないため、ajaxリクエストが情報を取得している間にスピニーフラッシャーをdivに入れたいのです。 。それが理にかなっていることを願っています!

4

2 に答える 2

3

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代わりに使用していることに注意してください)。 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();
}
于 2008-10-27T13:29:39.583 に答える
1

次のようなことはできませんか。

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

  //and the rest of the function
}
于 2008-10-27T23:33:41.547 に答える