0

jQuery MobileとSPServicesを使用して、SharePointデータをモバイルページにプルしています。すべてのデータが実際に読み込まれますが、データをプルしているときにスピナーを読み込むことに成功していません。

これを機能させるために設定する必要のあるページをいくつか読んだことがasync: trueありますが、役に立ちませんでした。また、スピナーを表示および非表示にするためのいくつかの方法を試しましたが、どちらも機能しませんでした。

何か案は?

動作しません

$(document).delegate('#top-stories', 'pageshow', function () {
    function getList(){
             // ....
    } // end function
    $.mobile.showPageLoadingMsg();
    getList();
    $.mobile.hidePageLoadingMsg();
});

動作しません

$(document).delegate('#top-stories', 'pageshow', function () {
    function getList(){
        $.mobile.showPageLoadingMsg();
        $().SPServices({
            // ....
        });
        $.mobile.hidePageLoadingMsg();
    } // end function
    getList();  
});

スピナーなしで、アイテムをロードして機能するコード

$(document).delegate('#top-stories', 'pageshow', function () {
    function getList(){
        $().SPServices({
            operation: "GetListItems",
            listName: "Posts",
            webURL: "/SiteDirectory/news_and_updates",
            async: true,
            CAMLRowLimit: 15,
            CAMLQuery: "<Query><OrderBy><FieldRef Name='Created' Ascending='FALSE' /></OrderBy><Where><Eq><FieldRef Name='PostCategory' /><Value Type='Choice'>Announcements</Value></Eq></Where></Query>",
            CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='ID' /></ViewFields>",
            completefunc: function (xData, Status) {
              $(xData.responseXML).SPFilterNode("z:row").each(function() {
                var liHtml = "<li data-theme=\"c\"><a href=\"javascript:viewStory(" + $(this).attr("ows_ID") + ")\">" + $(this).attr("ows_Title") + "</a></li>";
                $("#top-stories ul").append(liHtml).listview("refresh");
              });
            }
        });
    } // end function
    getList();
});
4

1 に答える 1

2

$().SPServices への呼び出しの直前に、getList メソッドで showPageLoadingMsg への呼び出しを配置し​​ます。次に、xData.responseXML によるループの前または後に、completeFunc コールバック メソッド内に hidePageLoadingMsg への呼び出しを配置し​​ます。

于 2012-07-13T15:58:23.193 に答える