1

我有以下代码,我想知道每次单击动态帖子或导航回主列表页面时在哪里放置代码以显示 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);

我已经尝试了一些看到的代码,但没有一个对我有用......

4

1 回答 1

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 中取出了不透明度,因为当我增加或减少不透明度设置时加载器看起来太暗和太白,所以我所做的是从AJAX 加载器站点生成一个具有透明背景的新加载器

于 2013-10-14T07:15:17.183 回答