【问题标题】:Ajax loader for respective elements各个元素的 Ajax 加载器
【发布时间】:2012-09-05 16:07:54
【问题描述】:

实际上我试图在我的应用程序中放置一个 ajax 加载程序。我试过这个

$(document).ajaxStart(function(){ 
  $('#ajaxBusy').show(); 
  }).ajaxStop(function(){ 
  $('#ajaxBusy').hide();
});

这工作正常。但问题是,每当我单击启动 ajax 请求的元素时,ajax 加载器(gif 图像)就会显示在一个地方。但我不希望加载器应该分别显示在每个元素附近,这些元素仅在该元素附近被点击。

所以我尝试了这个,

$('.follow_count').live('click', function(){
  $(document).ajaxStart(function(){ 
   $('#ajaxBusy').show(); 
   }).ajaxStop(function(){ 
   $('#ajaxBusy').hide();
  });
});

其中 .follow_count(这是 ajax 元素之一)是一个 div 元素。在这里,我希望当单击 .follow_count 元素时,应该在该元素附近显示 ajax 加载器。

谁能帮我解决这个问题..

【问题讨论】:

  • 您为所有 AJAX 加载定义了相同的 id?好像是这样,一点都不好!!!
  • 你应该把你的#ajaxBusy elem 放在 div elem 里面。或者您需要使用绝对位置将#ajaxBusy elem 定位在div elem 内。
  • 不,我没有给出相同的 ID。我已经给出了各自的身份证。

标签: javascript ajax jquery


【解决方案1】:

也许如果你从 id 更改为 class 它会起作用:

$('.follow_count').live('click', function(){
  $(this).ajaxStart(function(){ 
   $(this).find('.ajaxbusy').show(); 
   }).ajaxStop(function(){ 
   $(this).find('.ajaxbusy').show(); 
  });
});

ajaxBusy 必须是一个类而不是id,如果你要重复的话!

Here 是一个小例子。

【讨论】:

  • 怎么不工作了?它应该可以工作,检查示例只是为了实时点击,它应该工作相同
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多