2011-05-10 60 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