1

我有一个简单的代码来显示和加载带有 ajax 的下一页。在显示新页面之前,我可以显示加载图像div,代码:

<div class="loading"><img src="{THEME}/images/loader.gif" /></div>

我的内容的 div 是这样的:

<div id="dle-content"></div>

现在,我的问题是,如何显示 loadingdiv而不是 dle-content div

jQuery:

<script type="text/javascript">
function nextPage() {
var nextPage = $('#ajax-next-page a').attr('href');
ShowLoading("");
if (nextPage !== undefined) {
$.ajax({
url: nextPage,
success: function(data) {
$('#ajax-next-page').remove();
$('#next-page').remove();
HideLoading("");
$('#dle-content').append($('#dle-content', data).html());
}
})
}
};
</script>

我想div在加载div显示时在 dle-content 上制作模糊或深色背景。

4

2 回答 2

2

工作小提琴

function ShowLoading() {
  var img = "loading.gif"; // here define name of image
  var s = document.createElement("div");
  s.style.width = "100%";
  s.style.height = "100%";
  s.style.background = "rgba(0, 0, 0, 0.8)";
  s.style.position = "absolute";
  s.style.top = "0px";
  s.style.left = "0px";
  s.id = "wrapper";
  document.body.appendChild(s);
  var image = document.createElement("img");
  image.src = img;
  image.style.margin = "0 auto";
  document.getElementById("wrapper").appendChild(image);
}

function HideLoading() {
  $("#wrapper").fadeOut();
}
于 2013-01-05T20:07:15.720 回答
0

也许试试

            $(".loading").bind("ajaxSend", function() {
            $(this).show();
            $('.dle-content').hide
        }).bind("ajaxStop", function() {
            $(this).hide();
            $('.dle-content').show
        })
于 2013-01-05T20:05:07.590 回答