0

我希望在 jQM 和主干的页面转换期间显示加载消息。但是 showPageLoadingMeassage 不起作用。以下是我的代码:collection.js

findById : function(artistId, page, limit, sort) {
    $.mobile.showPageLoadingMsg('a', 'Loading......', false);
    var self = this;
    if (limit == undefined) {
        limit = 10;
    }
    $.mobile.showPageLoadingMsg('a', 'Loading......', false);
    console.log("hello");
    $.ajax({
        type: "GET",
        url: siteURL + 'artists/artist_detail/artist_id'  + artistId  + '.json',
    }).done(function(msg) {
        var response = JSON.parse(msg);

        if (response.status == true) {
            var dataArray = response.data;
            console.log(dataArray);
            self.reset(dataArray);

            if (self.length > 0) {
                $.mobile.hidePageLoadingMsg();
            }
            //return  dataArray;
        } $.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, 'Sorry! No records found', true);
            setTimeout(function() {
                $.mobile.hidePageLoadingMsg();
            }, 1500);
        }
    });
}

我哪里错了?

编辑: 它适用于搜索页面:

... findByTitle : function(keyword, genre, language, page, limit, sort, collection, fan, featured) {
            //~ console.log(page);
            var self = this;
            if (limit == undefined) {
                limit = 10;
            }
            $.mobile.showPageLoadingMsg('a', 'Searching......', false);
            $.ajax({....
4

2 回答 2

3

在 stackoverflow 本身上找到了答案 - jQuery Mobile - 让 showPageLoadingMsg 与 pagebeforeshow 或 pagebeforeceate 一起工作时出现问题。它说有时 jQM 不会将 ui-loading 类添加到正文中,因此我们必须手动进行。

$('body').addClass('ui-loading');
    $.mobile.showPageLoadingMsg('a', 'Searching......', false);

并在隐藏加载消息时:

setTimeout(function() {
    $('body').removeClass('ui-loading');   //remove class
    $.mobile.hidePageLoadingMsg();
}, 1000);
于 2012-12-04T10:47:52.417 回答
0

此功能也已被弃用,在当前版本中根本没有。

于 2015-03-28T08:48:21.420 回答