0

好的,我有一个 ajax jsonp 请求,它抓取一大块 html,然后将其扔到页面上的 div 中。麻烦的是,随着数据的加载,内容类型的垃圾就位(因为它在 div 中构建了 html)

所以我想先将它加载到一个临时的页面外 div,一旦完成加载,将内容移动到我的主 div 中。

    $.getJSON('getsomedata.php?jsoncallback=?',

    function(data) {

    if(data.success=="true")

    {

    // load into temp div


    // pause? until loaded?


    // move content into the real div

    });
4

2 回答 2

0

您可以使用回调函数在 ajax 请求完成时显示 div。

$.post('location_of_ajax_file',
    { 'post vals': 'with values'},
    function(data) {
        // this ambiguous function can also just be a callback reference
        // to an external function.
        // It gets called when the ajax request is complete, so you can load 
        // everything into a hidden div, then use this function to show 
        // the div like so:
        $('#hiddendiv').fadeIn(200);

        // fadeIn is cool, but you could also just set the css atribute to show,
        // or switch to another class that includes a show expression.
    }
);

如果你真的想切换 div,你可以使用回调函数将 html 从缓冲 div 复制到屏幕上。

于 2012-06-25T19:30:34.230 回答
0

如果我理解正确,您可以使用以下内容

//Will load a message into a temporary div
$('#temp-div').html("Temporary loading message");

//Will replace loading message with the server response
$('#temp-div').html(response);

在您的代码中,您将具有 (html) 的效果

<div id="temp-div"> </div>

这也将假设您正在从后端获取/发送响应。同样,这是一个假设性的答案,但我希望它能引导您朝着正确的方向前进。

于 2012-06-25T19:20:17.697 回答