【发布时间】:2011-02-07 17:37:00
【问题描述】:
我正在使用 JQTOUCH,在 JQTOUCH 中,有几个链接正在通过 AJAX 加载,然后滑入。问题是没有向用户提供加载指示。
我想要一种在加载 ajax 调用时添加带有 AJAX 微调器的 Loading 类的方法,并在加载完成时删除该类并显示页面。
有什么想法吗?
【问题讨论】:
标签: iphone web-applications jqtouch
我正在使用 JQTOUCH,在 JQTOUCH 中,有几个链接正在通过 AJAX 加载,然后滑入。问题是没有向用户提供加载指示。
我想要一种在加载 ajax 调用时添加带有 AJAX 微调器的 Loading 类的方法,并在加载完成时删除该类并显示页面。
有什么想法吗?
【问题讨论】:
标签: iphone web-applications jqtouch
感谢您的不同帖子。他们帮了我很多。
我有一个解决方案可以在不修补 jQTouch 所依赖的 jQtouch 代码的情况下提出。 它使用 jQuery ajax 功能。
$(document).ready(function() {
...
$('#jqt').ajaxStart(function() {
console.log("ajaxStart");
...
}).ajaxSuccess(function() {
console.log("ajaxSuccess");
...
}).ajaxError(function() {
console.log("ajaxError");
....
});
....
});
更多详情请见this jQuery doc page。
【讨论】:
我刚刚回复了 Darin Parker 的 question。看看它可能对你有帮助。
【讨论】:
showPageByHref() 的答案部分正确。
但是,而不是
$('body').append('<div id="loadinginprogress">Loading...</div>');
你需要
$('.current').append('<div id="loadinginprogress">Loading...</div>');
body对于jqtouch来说太笼统了,需要具体到当前显示的DIV-page
【讨论】:
您可以添加自定义事件处理程序,并在每次点击特定元素时触发 loading.gif。
【讨论】:
jqtouch js 中的showPageByHref() 函数是一个好的开始。我将它添加到 ajax 调用中,因此当您单击已加载的链接等时,请稍候不会闪烁。
简而言之 - 在 ajax 调用之前添加加载 div(示例中的 id loadinginprogress)并删除稍后的“成功”或“错误”。 ajax 调用部分看起来像这样(缩短它):
函数 showPageByHref(href, 选项) { ... if (href != '#'){ $('body').append('用于加载 div 的 css 类似于:
#loadinginprogress { -webkit-border-radius:10px; 背景颜色:rgba(0,0,0,.5); 白颜色; 字体大小:18px; 字体粗细:粗体; 高度:80px; 左:60px; 行高:80px; 边距:0 自动; 位置:绝对; 文本对齐:居中; 顶部:120 像素; 宽度:200px; z 指数:5000; }【讨论】:
如果您的链接是 li class="arrow" 元素,这是基本行为。你如何显示你的链接以及你希望加载微调器显示在哪里?
【讨论】: