动态帖子之间的延迟

时间:2013-10-07 04:57:59

标签: javascript php jquery wordpress

我有这个JS代码,用于在点击时显示每个动态加载的帖子:

    function showPost(id) {
    $.getJSON('http://hopeofgloryinternational.com/?json=get_post&post_id=' + id + '&callback=?', function(data) {
        var output='';
        output += '<h3>' + data.post.title + '</h3>';
        output += data.post.content;
        $('#mypost').html(output);
    }); //get JSON Data for Stories
} //showPost

当我在我的手机或Windows浏览器上测试页面“http://howtodeployit.com/devotion/”时,点击了每日灵修信息,我在每个帖子之间导航,我注意到以前访问过的帖子仍显示为新帖子显示前几秒钟。

如何刷新页面或DOM,以便清除以前访问过的页面。

3 个答案:

答案 0 :(得分:4)

单击项目或单击后退按钮时,只需empty() myPost的内容。原因是您之前的内容仍然存在于mypost div中,并且即使在执行ajax调用之前,您的内容页面也会变得可见,这可能需要一些时间来完成说700毫秒,因此您将看到旧的内容很长一段时间。

function showPost(id) {

 var $myPost = $('#mypost').empty(); //emtpy it

 $.getJSON('http://hopeofgloryinternational.com/?json=get_post&post_id=' + id + '&callback=?', function(data) {
    var output='';
    output += '<h3>' + data.post.title + '</h3>';
    output += data.post.content;
    $myPost.html(output);
}); //get JSON Data for Stories

答案 1 :(得分:2)

在转到另一个清除显示内容的请求之前,

函数以行$('#mypost').html("");开头。

此外,您可以在显示下一个请求的内容之前添加等待消息$('#mypost').html("Please wait...");

function showPost(id) {

    $('#mypost').html(""); //add this line

    //$('#mypost').html("Please wait..."); //also you can add it to show waiting message.

    $.getJSON('http://hopeofgloryinternational.com/?json=get_post&post_id=' + id + '&callback=?', function(data) {
        var output='';
        output += '<h3>' + data.post.title + '</h3>';
        output += data.post.content;
        $('#mypost').html(output);
    }); //get JSON Data for Stories

}

答案 2 :(得分:0)

你可以清空()$ mypost

 var $myPost = $('#mypost').empty();