首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何:在页面中放置多个ajax加载程序,在加载每个加载程序时,加载.覆盖它的吗?

如何:在页面中放置多个ajax加载程序,在加载每个加载程序时,加载.覆盖它的吗?
EN

Stack Overflow用户
提问于 2016-05-19 07:49:52
回答 2查看 1.5K关注 0票数 2

示例:

我希望#加载在加载时涵盖#ajax-1,并在加载时覆盖#ajax-2,等等。

代码语言:javascript
复制
<div>
  <div id='ajax-1'>
  </div>
  <div id='ajax-2'>
  </div>
  ...
</div>
<div id='loading'>loading...</div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 13:47:42

这个例子是我的回答:

https://jsfiddle.net/a3dmorteza/0528hk8b/

在本例中,您可以在页面中放置多个ajax加载程序,当您加载每个加载程序时,加载.div覆盖它的。

代码语言:javascript
复制
<div id="page">
  <ul class='buttons-list'>
    <li class='fa fa-refresh' data-id='1'> refresh 1st</li>
    <li class='fa fa-refresh' data-id='2'> refresh 2nd</li>
    <li class='fa fa-refresh' data-id='3'> refresh 3rd</li>
  </ul>

  <div class='ajax-section' data-id='1'>  
  </div>
  <div class='ajax-section' data-id='2'>  
  </div>
  <div class='ajax-section' data-id='3'>  
  </div>

  <div class='loading-ct'>
    <div class='loading'>
      <i class="fa fa-refresh fa-spin fa-3x"></i>
    </div>
  </div>
</div>

CSS

代码语言:javascript
复制
.ajax-section,
.buttons-list {
  position: relative;
  width: 70%;
  height: 200px;
  margin: 10px auto;
  padding: 10px;
  background-color: yellow;
}
.buttons-list {
  list-style: none;
  background: none;
  height: auto;
}
.buttons-list li {
  padding: 5px;
  margin-right: 5px;
  border: 1px solid black;
  cursor: pointer;
}
/* Absolute Center Spinner */
.loading {
  position: absolute;
  z-index: 999;
  height: 3em;
  width: 3em;
  overflow: show;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}


/* Transparent Overlay */

.loading-ct {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

JQuery

代码语言:javascript
复制
$(function(){
    $('.loading-ct').hide();

  $('.fa-refresh').on('click', function(){
    $('[data-id='+$(this).data('id')+']').trigger('refresh');
    $('body').off('refresh', '.ajax-section', func);
  });

  $('body').on('refresh', '.ajax-section', func);
});

function func(e)
{
  $('body .loading-ct').clone().appendTo(e.target).show();
  $(e.target).load('/echo/html/',
    {
        html: "<p>This is ajax-section "+$(e.target).data('id')+"</p>",
        delay: 2
    },
    function(){
        $('body').on('refresh', '.ajax-section', func);
    }
  );
}
票数 1
EN

Stack Overflow用户

发布于 2016-05-19 08:46:43

检查jquery函数这里,在jquery加载时使用setTimeout删除加载文本。

代码语言:javascript
复制
$(function(){
  $('#ajax-1').load('ajax-1.php',function(){
    $('#loading').appendTo('#ajax-1').show();
    setTimeout(function(){
        $('#loading').appendTo('body').hide();
    },2000);            
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37317060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档