我通过AJAX使用JQTOUCH和JQTOUCH几个链路正在装载和然后在滑动。问题是,有提供给用户没有加载指示。

我想一个方法来添加一个类加载与AJAX微调,当过了一个Ajax调用加载,并有当加载完成的类中删除,并显示在页面上。

任何想法?

有帮助吗?

解决方案

这是如果链接可丽类=“箭头”的元件的基本行为。你是如何展示你的链接,你想去哪里加载微调,以显示?

其他提示

showPageByHref()的答案是部分正确。

但是,相反的

$('body').append('<div id="loadinginprogress">Loading...</div>');

你需要

$('.current').append('<div id="loadinginprogress">Loading...</div>');

身体太一般为jqtouch,需要特定于当前显示的DIV-页

在jqtouch JS

showPageByHref()函数是一个好的开端。我加入它的权利到Ajax调用,因此请稍候不会闪烁,当你点击已加载等环节。

在短 - 添加载荷的div(在〔实施例ID loadinginprogress)右边的AJAX调用之前和以后删除“成功”或“错误”。 Ajax调用部分看起来类似的东西(缩短它):

function showPageByHref(href, options) {
...
if (href != '#'){
    $('body').append('<div id="loadinginprogress">Loading...</div>');
    $.ajax({
        url: href,
        data: settings.data,
        type: settings.method,
        success: function (data, textStatus) {
            $('#loadinginprogress').remove()
            var firstPage = insertPages(data, settings.animation);
            if (firstPage)
            {
                if (settings.method == 'GET' && jQTSettings.cacheGetRequests && settings.$referrer)
                {
                    settings.$referrer.attr('href', '#' + firstPage.attr('id'));
                }
                if (settings.callback) {
                    settings.callback(true);
                }
            }
        },
        error: function (data) {
            $('#loadinginprogress').remove()
            if (settings.$referrer) settings.$referrer.unselect();
            if (settings.callback) {
                settings.callback(false);
            }
        }
    });
}
...
}

的CSS用于装载的div会是这样的:

#loadinginprogress {
    -webkit-border-radius: 10px;
    background-color: rgba(0,0,0,.5);
    color: white;
    font-size: 18px;
    font-weight: bold;
    height: 80px;
    left: 60px;
    line-height: 80px;
    margin: 0 auto;
    position: absolute;
    text-align: center;
    top: 120px;
    width: 200px;
    z-index: 5000;
}

感谢您的不同岗位。他们帮了我很多。

我有一个解决方案,而修补其上jQTouch依靠jQtouch代码提出。 它使用jQuery的Ajax功能。


$(document).ready(function() {
...
  $('#jqt').ajaxStart(function() {
    console.log("ajaxStart");
    ...
  }).ajaxSuccess(function() {
    console.log("ajaxSuccess");
    ... 
  }).ajaxError(function() {
    console.log("ajaxError");
    .... 
  });
....
});

可用详情此jQuery的文档页

您可以添加自定义事件处理程序,并触发loading.gif每次特定元素的点击已完成。

我刚才已经回答达林·帕克的问题。刚检查出来,它可以帮助你。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top