jQuery:不同事件的不同ajaxStart和ajaxStop

jQuery:不同事件的不同ajaxStart和ajaxStop,jquery,ajax,Jquery,Ajax,好的,我创建了一个小页面,不同的元素触发不同的AJAX调用 如果我只有一个加载图像,我会使用ajaxStart和ajaxStop。但我希望在不同的AJAX调用中显示不同的加载图像 当然,工作原理如下: $("img#loader").show(); $.ajax({ complete:function() { $("img#loader").hide(); } }); 但是有没有更优雅的方法可以做到这一点呢?您可以尝试动态生成ajax映像并在成功时删除

好的,我创建了一个小页面,不同的元素触发不同的AJAX调用

如果我只有一个加载图像,我会使用ajaxStart和ajaxStop。但我希望在不同的AJAX调用中显示不同的加载图像

当然,工作原理如下:

$("img#loader").show();

$.ajax({
    complete:function()
    {
        $("img#loader").hide();
    }
});

但是有没有更优雅的方法可以做到这一点呢?

您可以尝试动态生成ajax映像并在成功时删除函数。下面是一个示例:

var loader=“

您可以在样式表中为id加载器定义特定的样式 或者您可以使用jquery立即提供它。您甚至可以根据需要添加覆盖

`

然后,在功能成功后,您可以删除加载的图像

        success :function(html){
            if(<your condition>){           

                                   ...
                                   ...
                $("#loader").fadeOut('slow',function(){$("#loader").remove();
成功:函数(html){
if(){
...
...
$(“#装入器”).fadeOut('slow',function(){$(“#装入器”).remove();

我希望你能得到它…动态加载,完成后删除!

尝试使用
html
$(obj.html(“”.css({opacity:0})这样的图像路径
img#loader
是一个无意义的选择器。改用
#loader
img#loader
img#loader
是两个非常不同的选择器……我自己看不到其中的无意义。只有不利用它的力量的人才能让它变得无意义。@netbrain,为什么它不同?我看不到任何情况下它会发生变化e#loader和img#loader是不同的(除非您有两个ID相同的元素,这违反了规范)你可以有两个不同的页面,其中一个页面有一个div作为cointainer,另一个页面有一个span,用于块和内联元素。然后很自然地有span#myId和div#myId,它们提供相同的内容,但包装不同。至少,这是我所看到的。很抱歉,这正是我不想要的,因为它正在创建太多的开销了。我搜索的是类似于ajaxStart和ajaxStop的东西,但只针对特定的AJAX调用。然后在文档中放置一个空的隐藏div,例如,然后调用$(“#加载”).ajaxStart(函数(){$(this.html(“”.show();});尝试为不同的元素添加不同的ajax处理程序,并为不同的处理程序使用不同的加载图像
    $("#somediv").append(loader);
    $("#loader").show();
    $("#loader").fadeIn(400).html('<img align="absmiddle" src="/path/to/image/ajax-loader1.gif" />...Loading'); 
    $.ajax({
        url     :   ""

          ...
        success :function(html){
            if(<your condition>){           

                                   ...
                                   ...
                $("#loader").fadeOut('slow',function(){$("#loader").remove();