显示页面在Google Ajax中加载Spinner

时间:2013-10-13 08:38:35

标签: javascript jquery ajax

我有以下代码,我想知道在每次点击动态帖子或导航回主列表页面时放置代码以显示Spinner图像的位置:

function initialize() {
    var feed = new google.feeds.Feed("http://howtodeployit.com/category/daily-devotion/feed/");
    feed.setNumEntries(8);
    feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);
    feed.load(function(result) {
        if (!result.error) {
            var container = document.getElementById("feed");
            var posts = '<ul data-role="listview" data-filter="true">';
                for (var i = 0; i < result.feed.entries.length; i++) {
                var entry = result.feed.entries[i];

                    posts += '<li>';
                    posts += '<a href="#articlepost" onclick="showPost(' + id + ')">';
                    posts += '<div class="ui-li-heading">' + entry.title + '</div>' ;
                    posts += '<div class="ui-li-desc">' + n_date + '</div>';
                    posts += '</a>';
                    posts += '</li>';   
                }
            posts += '</ul>';
        // Append each list of posts to #devotionlist in html page 
        $("#devotionlist").append(posts);
        //$("#devotionlist").listview('refresh');
        }
    });
}
google.setOnLoadCallback(initialize);

我已经尝试了一些代码,但没有一个适合我...

1 个答案:

答案 0 :(得分:0)

好的,我确实以最简单的方式解决了这个问题。我在函数中添加了以下代码,该函数调用并显示每个单击的帖子:

function showPost(id) {
    $('#articlecontent').html('<div id="ui_loader"><img src="css/images/ajax-loader.gif" class="ajax_loader"/></div>');
    $.getJSON('http://howtodeployit.com/?json=get_post&post_id=' + id + '&callback=?', function(data) {
        var output='';
        output += '<h3>' + data.post.title + '</h3>';
        output += data.post.content;
        $('#articlecontent').html(output);

使用以下CSS:

#ui_loader {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:1000;
 }

.ajax_loader {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -32px; /* -1 * image width / 2 */
    margin-top: -32px;  /* -1 * image height / 2 */
    display: block;     
}

注意:我从CSS中取出了不透明度,因为当我增加或减少不透明度设置时,Loader看起来太暗和太白,所以我做的是从{{3}生成一个透明背景的新Loader }