- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于通常看似简单的事情需要几天的时间才能解决,也许有人可以给我指出一个解决方案,但两天后我放弃了以下问题;
在 html 中,我有一个按钮,应该通过 ajax 调用触发数据加载:
<button type="" class="btn" onclick="getData(); return false;">Show Data</button>
在 JavaScript 中:
$(document).ajaxStart(function() {
$("#qloader").show();
}).ajaxStop(function() {
$("#qloader").hide('slow');
});
并且在 id qloader 的 html div 中定义为 100% 宽度和高度,微调器以背景为中心,z-index 高于其他:
<div id="qloader" class="myLoader" > </div>
现在,当页面加载时,执行ajax调用以获取初始数据,qloader div被调出并显示旋转器 - 动画,ajax调用完成后,qloader被ajaxStop隐藏。
接下来,当我点击按钮(显示数据)发起另一个ajax调用时,ajaxStart被触发,但它不显示qloader,它会等到ajaxStop被触发,然后眨眼间它显示qloader并隐藏它。
我怀疑 ajaxStart 没有执行,所以我在 $("#qloader").show() 之前放置了警报,然后将显示警报,之后将显示 qloader 但旋转动画将暂停 - 不旋转,在ajaxStop之后它将被隐藏。
如果 ajaxStart 触发器中没有警报,则在后续的 ajax 调用中,直到触发 ajaxStop 之前,div 才会显示。
对于第一个 ajax 调用,它工作正常,但对于单击表单按钮触发的后续 ajax 调用,它不起作用。
知道这个设置有什么问题吗?
最佳答案
在下面的链接中,有一个示例在加载时获取数据并在单击按钮时获取数据。这工作正常。
在您的代码中,如果按钮未键入提交,则单击按钮时不需要“返回 false”
$(document).ajaxStart(function() {
$("#qloader").show();
}).ajaxStop(function() {
$("#qloader").hide('slow');
});
$(document).ready(function() {
getData();
})
.myLoader{
width:100%;
height:500px;
background-color:blue;
opacity:0.5
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
<button type="button" class="btn" onclick="getData(); return false;">Show Data</button>
</form>
<div id="qloader" class="myLoader" style="display:none">Loading...</div>
<script>
function getData() {
$.post("/echo/json", {
"json": JSON.stringify({
"test": "test"
})
});
}
</script>
.
关于jquery ajaxstart ajaxstop 显示隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162430/
我的团队目前正在尝试摆脱我们的 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
我是一名优秀的程序员,十分优秀!