我想fadeOut
一个按钮,然后fadeIn
响应一个Ajax调用。响应是一个新按钮。但是,以下代码的作用是fadeOut
第一个按钮,将其淡入,然后将其替换为新按钮。我尝试了一些组合,但无法让它工作。我哪里出错了?
beforeSend: function()
{
$(this).fadeOut("slow");
},
success: function(response)
{
$(this).fadeIn("slow", function () {
$(this).parent().html(response);
});
}
答案 0 :(得分:3)
this
不再是前一个元素。您必须将它存储在AJAX调用之前的var中,例如:
var button = $(this);
以后:
button.fadeOut();
等等。
答案 1 :(得分:1)
试试这个(请注意fadeOut上输入错误的“show”):
beforeSend: function()
{
$(this).fadeOut("slow");
},
success: function(response)
{
$(this).parent().html(response);
$(this).stop().fadeIn("slow");
}
答案 2 :(得分:1)
$(this).parent().html(response);
会有效消除this
。所以改成它应该解决它:
$(this).parent().html(response);
$("#thething").stop().fadeIn("slow");
其中#thething是“this”的id
编辑:morgar也说。