合并两个小的jquery代码

时间:2010-12-31 01:40:15

标签: javascript jquery

以下是两段jquery代码。第一个在单击链接时打印文本消息,第二个在单击链接时向下滑动div。我想将第二个代码合并到第一个代码中,这样当我单击链接时,它会显示消息(如第一个代码所示),并且还会向下滑动#votebox(在第二个代码中完成,并在其中显示内容)。 我将非常感谢任何帮助。

$("a.vote_up").click(function(){

the_id = $(this).attr('id');
$("span#votes_count"+the_id).fadeOut("fast");
$.ajax({
        type: "POST",
        data: "action=vote_up&id="+$(this).attr("id"),
        url: "votes.php",
        success: function(msg)
        {
            $("span#votes_up"+the_id).fadeOut();
            $("span#votes_up"+the_id).html(msg);
            $("span#votes_up"+the_id).fadeIn();

            //Here, I want to slide down the votebox and content div (from code below).

        }
    });
});

以下代码向下滑动投票箱div并在其中显示内容,我想在上面的代码中包含该内容。

$("a.vote_up").click(function(){
var id=$(this).attr("id");
var name=$(this).attr("name");
var dataString = 'id='+ id + '&name='+ name;
//I want to include this votebox in above code.
$("#votebox").slideDown("slow");
$("#flash").fadeIn("slow");

$.ajax({
type: "POST",
url: "rating.php",
data: dataString,
cache: false,
success: function(html){
$("#flash").fadeOut("slow");
//and want to use this div as well.
$("#content").html(html);
} 
});
});

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

简单的方法是为voteDown定义一个单独的函数,并从success函数中调用它: e.g

$("a.vote_up").click(function(){

the_id = $(this).attr('id');
$("span#votes_count"+the_id).fadeOut("fast");
$.ajax({
        type: "POST",
        data: "action=vote_up&id="+$(this).attr("id"),
        url: "votes.php",
        success: function(msg)
        {
            $("span#votes_up"+the_id).fadeOut();
            $("span#votes_up"+the_id).html(msg);
            $("span#votes_up"+the_id).fadeIn();
                        var that = this;
            voteDown.call(that);

        }
    });
});




function voteDown() 
{
    var id=$(this).attr("id");
    var name=$(this).attr("name");
    var dataString = 'id='+ id + '&name='+ name;
    $("#votebox").slideDown("slow");
    $("#flash").fadeIn("slow");

    $.ajax({
        type: "POST",
        url: "rating.php",
        data: dataString,
        cache: false,
        success: function(html){
            $("#flash").fadeOut("slow");
            //and want to use this div as well.
            $("#content").html(html);
        } 
    });
}

编辑:更正了JS for Votedown功能。