jQuery加载问题与slideDown效果

时间:2011-02-22 18:20:09

标签: jquery ajax

这是我在stackoverflow上的第一篇文章,但是阅读了很多并且学习。

我使用了一个jquery函数,用.load函数加载wordpress主题中的post。

但现在我有一个问题,我自己无法解决。

$(document).ready(function(){

$.ajaxSetup({cache:false});
$("#thumbs a").click(function(){
var post_id = $(this).attr("rel") 
$("#your_post_here").slideDown("1200", function () {
$("#your_post_here").html("<img src='http://localhost/wp-content/themes/insp/images/ajax-loader.gif' />");
$("#your_post_here").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/triqui-ajax/",{id:post_id});
});

    return false;

});

$("a.close").live("click", function(){ 
    $("#intro").slideUp(1200);
    return false;
}); 

});

问题是我无法在加载之前将它下载到slideDown。有人知道什么是错的吗?

除了slideDown效果

之外,其他工作正常

修改

也许我弄错了,不能让它真正起作用。

我这样说,这是错的吗?

$("#thumbs a").click(function(){
    var post_id = $(this).attr("rel") 
$("#your_post_here").slideDown("200", function () {
    $("#your_post_here").html("<img src='http://localhost/wp-content/themes/insp/images/ajax-loader.gif' />");
    $("#your_post_here").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/triqui-ajax/",{id:post_id});
});

1 个答案:

答案 0 :(得分:5)

您需要将.load()放入.slideDown()的回调中。

$("#your_post_here").slideDown("200", function () {
    $("#your_post_here").html("<img src='http://localhost/wp-content/themes/insp/images/ajax-loader.gif' />");
    $("#your_post_here").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/triqui-ajax/",{id:post_id});
});

//编辑:

$("#your_post_here").slideDown("200", function () {
    $(this).html("<img src='http://localhost/wp-content/themes/insp/images/ajax-loader.gif' />");
    $(this).load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/triqui-ajax/",{id:post_id});
});