2011-05-10 56 views
3
<script src="js/jquery/jquery-1.6.js" type="text/javascript"></script> 

如何設置ajaxStart?

我得到 「$ .ajaxStart是不是一個函數」

function Loader(){ 
    this.loader = null; 

    this.cnstr = function(){ 
     if(!this.loader){ 
      this.loader = DOM.div(document.body); 
      with(this.loader){ 
       className = 'loader'; 
       innerHTML = 'loader'; 
       style.display = 'none'; 
      } 

      elm_position_center(this.loader); 
      $(this.loader).fadeIn(1000); 
     } 
    }; 

    this.dstr = function(){ 
     if(this.loader){ 
      DOM.rmv(this.loader); 
     } 
    }; 
} 
var Loader = new Loader(); 

$.ajaxStart(function(){ 
    Loader.cnstr(); 
}); 

$.ajaxStop(function(){ 
    Loader.dstr(); 
}); 

編輯:

$ .ajaxStart不是一個函數

window.onload = function(){ 
    $.ajaxStart(function(){ 
     Loader.cnstr(); 
    }); 

    $.ajaxStop(function(){ 
     Loader.dstr(); 
    }); 
}; 
+0

你沒有加載jQuery,或者它與其他一些庫衝突。 – usoban 2011-05-10 09:29:08

+0

還請爲'JQuery'頁面中包含的文件和存在上述代碼的腳本標記聲明添加腳本聲明。 – 2011-05-10 09:32:55

+0

有沒有其他的js庫使用?像'mootools','原型' – diEcho 2011-05-10 09:34:13

回答

1

您的jQuery的文件可能丟失或您沒有正確加載它

+0

現在它加載此代碼之前,但現在我得到「$ .ajaxStart不是一個函數」 – clarkk 2011-05-10 09:34:37

+0

把它放在$(document).ready()函數 – user489872 2011-05-10 14:21:52

0

您需要確保已加載jQuery。嘗試添加這對您的文檔:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
+0

仍然不是一個函數 – clarkk 2011-05-10 09:56:18

+0

即使我把函數放在一個窗口.onload function – clarkk 2011-05-10 10:04:24

9

這個工程..

$(document).ajaxStart(); 
0

試試這個:

$("#loadingAnimation").bind({ 
    ajaxStart: function(){ $(this).show(); }, 
    ajaxStop: function() { $(this).hide(); } 
}); 

您loadingAnimationElement本質結合全局解僱ajaxStart和ajaxStop事件。只有當你打算出現時才顯示。

當jQuery沒有執行任何Ajax請求並啓動一個新的請求時,它觸發一個ajaxStart事件。如果其他請求在第一個請求結束之前開始,那麼這些新請求不會導致新的ajaxStart事件。當最後一個掛起的Ajax請求完成並且jQuery不再執行任何網絡活動時,觸發ajaxStop事件。

//感謝Kevin Brown提醒我解釋一下這個例子。

+0

雖然這個答案可能是正確和有用的,但是如果您在解釋問題時加入一些解釋來解釋它是如何幫助解決問題的,那麼這是首選。如果存在導致其停止工作並且用戶需要了解其曾經工作的變化(可能不相關),這在未來變得特別有用。 – 2015-05-24 17:19:27