- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,我创建了一个小页面,其中不同的元素触发不同的 AJAX 调用。
如果我只有一张加载图像,我会很好地使用 ajaxStart 和 ajaxStop。但我希望在不同的 AJAX 调用上显示不同的加载图像。
当然可行的是:
$("img#loader").show();
$.ajax({
complete:function()
{
$("img#loader").hide();
}
});
但是有没有更优雅的方法来做到这一点?
最佳答案
您可以尝试动态生成ajax图像并在成功时删除函数。下面是一个示例:
var loader = "
<div id='loader'></div>
";
您可以在样式表中为 id 加载器定义特定样式 或者您可以使用 jquery 立即提供它。您甚至可以根据您的需要添加覆盖
var panelOverlay= $("<div id='panelOverlay'></div>").css({top:top, left:0,position:fixed, width:"100%", height:"100%", background:'#222', opacity:'.7'});
然后在您进行任何 ajax 调用之前显示它:然后加载
$("#somediv").append(loader);
$("#loader").show();
$("#loader").fadeIn(400).html('<img align="absmiddle" src="/path/to/image/ajax-loader1.gif" />...Loading');
然后你进行ajax调用
$.ajax({
url : ""
...
`
成功后,您可以删除加载图像
success :function(html){
if(<your condition>){
...
...
$("#loader").fadeOut('slow',function(){$("#loader").remove();
我希望你明白了......动态加载并在完成后删除!
关于jQuery:针对不同事件使用不同的 ajaxStart 和 ajaxStop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949812/
我的团队目前正在尝试摆脱我们的 jQuery。我们已经设法摆脱了所有选择器,并且正在将其从 ajax 调用中重构,但我们正在尝试重新创建 ajaxStart 和 ajaxStop 函数。 我一直在浏览
如果这不是提问的合适地方,我很抱歉。 我根据 documentation 确定知道ajaxStop() 函数的以下功能: Whenever an AJAX request is completed,
这是无效的代码: $(document).ajaxStop(function() { $(this).unbind("ajaxStop"); //prevent running again w
我正在使用 jQuery,但我的问题是即使我在 .ajaxStop 回调函数中使用“page += 1”,我的 page 变量也被递增了几次,因为它在第一次执行后被执行了不止一次它被使用了。我将该变量
如果我像这样使用 .ajaxStop 附加事件处理程序: $(document).ajaxStop(function() { //Some code }); 如何删除该事件处理程序? 最佳答案
由于通常看似简单的事情需要几天的时间才能解决,也许有人可以给我指出一个解决方案,但两天后我放弃了以下问题; 在 html 中,我有一个按钮,应该通过 ajax 调用触发数据加载: Show Data
当我使用ajax加载页面时,我尝试使用flash或文本来显示页面正在加载。下面的代码在 Firefox 和 Chrome 上运行良好,但不适用于 IE。我不知道问题所在。看来类(class)根本没有停
有没有人知道在没有 jQuery 开销的情况下使用 ajaxStop() 功能的方法?我试过查看 jQuery 的 GitHub 页面上的源代码,但找不到它或不知道要查看哪些文件。 最佳答案 您可以拦
我感谢所有的帮助。我是一个初学者,几乎没有 jQuery/AJAX 经验,我一直在疯狂地试图弄清楚为什么我无法弄清楚这一点。 我正在编写一个 Facebook 页面应用程序,让用户授予权限并将视频上传
有人可以帮我理解为什么这不起作用吗? load.gif 在 ajax .load 加载页面时出现,但永远不会消失。这让我相信 .ajaxStart 和 .ajaxStop 函数都没有被调用(因为它最初
也许没有什么区别,但其中一个比另一个更好(或者可能是比两者更好的神秘“第三种”方式!)... 第一: var startTime; $(document).ready(function() {
什么时候使用哪个。 在 http://api.jquery.com/ 的文档中: 对于 ajaxStop() 它说: Description: Register a handler to be cal
我使用ajaxStart和ajaxStop通过这种方式显示和隐藏加载: $(document).ajaxStart(function () { $.LoadingOverlay
好的,我创建了一个小页面,其中不同的元素触发不同的 AJAX 调用。 如果我只有一张加载图像,我会很好地使用 ajaxStart 和 ajaxStop。但我希望在不同的 AJAX 调用上显示不同的加载
$(document).ajaxStart(function() {loading.show()}); $(document).ajaxStop(function() {loading.hide()}
如何为特定事件绑定(bind) ajaxStart 函数,使用: $(document).ajaxStart(function () { alert("started"); }); $(docum
当发出 ajax 请求时,我将“Loading”类附加到正文,这样我就可以显示进度动画...由于某种原因,函数 ae 从未调用过,并且我没有看到任何警报... function setLoadingP
出于某种原因,我的 ajaxStop 代码现在触发了两次,我需要将其限制为仅一次。 $('.submit').bind('click', function(e) { $("#fileupload").
我有一个网页,其中 ajax 调用使用 jQuery 触发覆盖,如下所示: $(document).on({ ajaxStart: function() { $("body").addClas
我正在尝试在所有 ajax 调用完成后调用 $.post 函数。调用被触发只是因为它在一个连续的循环中运行。 var jQuery_1_11_0 = $.noConflict(true); jQuer
我是一名优秀的程序员,十分优秀!