当页面加载时,是什么触发我的预加载程序gif在页面上显示
What triggers my Preloader gif to show on Page, while Page is loading?
嗨,当页面加载新内容时,我正在尝试显示.gif。我了解Ajax、javascript、jquery,但我对如何实现这一点感到困惑。
这是带有gif的div。。。
<div id="Loading">
<div style="display: none;" id="overlay"></div>
<div id="popup" style="display:none;">
<img alt="Loading Rates" src="/Images/loading2.gif" />
<div class="dialogtext">Loading available rates, this may take a moment.</div>
</div>
</div>
</div>
以下是我写的一些JavaScript,其中一些有效:
我只是不知道如何触发这一点,希望能提供帮助或参考
所以您想在AJAX请求挂起时显示加载程序gif吗?
您可以使用的最基本的事件处理程序是
// Attach loading icon show/hide to Ajax events
$(document).on({
ajaxStart: function () {
$('#MyLoadingDiv').show();
},
ajaxStop: function () {
$('#MyLoadingDiv').hide();
}
});
只需更改父div以display: none
开始(或者只需篡改显示/隐藏调用以满足您的特定需求)
有许多这样的排列。如果您只想将加载程序附加到一个ajax调用(假设您使用了许多ajax调用,而您只需要一个加载程序),您可以执行以下操作:
var myAjaxRequest = $.ajax({
// Your ajax stuff here
beforeSend: function () { $('#MyLoadingDiv').show(); }
}
$.when(myAjaxRequest).done(function (){
$('#MyLoadingDiv').hide();
}
在我的脑海中,我认为您还应该能够将{ $('#MyLoadingDiv').show(); }
放在ajax调用之前,并在请求完成时将其隐藏起来。
如果有多个请求,您可能需要对上面的代码进行一些修改,以达到以下效果:
var myAjaxRequests = []
myAjaxRequests.push($.ajax({
// Your ajax stuff here
beforeSend: function () { $('#MyLoadingDiv').show(); }
});
$.when.apply($, myAjaxRequests).done(function (){
$('#MyLoadingDiv').hide();
}
apply()
的目的只是将数组拆分为单独的参数。如果您只使用几个Ajax请求,您可能不需要数组,您可以将它们全部传入,但对于较大的数量,这很好。
我刚刚在浏览器中删掉了这段代码,所以可能会有一些小错误,但它与我用来完成的(我认为)正是你想要的功能类似。
相关文章:
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- Ajax 加载 GIF 不会在成功时删除
- 加载 gif 图像未显示在 IE 和镶边中
- 单击时重播 GIF 动画/重新加载 GIF
- 是否可以在页面开始加载之前显示加载gif/image
- 网站在php中加载gif
- 在页面加载时重新加载gif图像
- Javascript使用加载gif的最简单/最优雅的方式
- 只想在页面上未加载初始数据时显示加载gif
- 鼠标离开后强制重新加载gif
- 动画加载gif与iframes加载
- 使用 AJAX 加载其他页面时加载 GIF 图像
- 导航时加载 GIF 图像
- 如何在页面加载时异步加载图像并在加载时显示加载 GIF
- 在 AJAX 完成时加载 GIF
- 如何在请求进入 Ajax 时显示加载 gif
- 显示加载.gif同时使用 jQuery 上传文件
- Javascript - 加载GIF冻结,同时将图像绘制到画布(Phonegap/Cordova)
- JavaScript 在 Iframe 加载时显示加载 gif
- 继续加载.gif在操作 DOM 时进行动画处理