将$(this)传递给jQuery中的回调?

gpr*_*gpr 3 parameters jquery callback this

我有两个效果,我想一个接一个地运行,但我无法弄清楚如何$(this)从第一个效果传递给回调.

这就是我现在所拥有的:

if($(this).hasClass('flag')) {
    $('someElement').slideUp();
    $(this).slideDown();
}
Run Code Online (Sandbox Code Playgroud)

但我想要的是在slideUp完成后运行slideDown,即.

if($(this).hasClass('flag')) {
    $('someElement').slideUp(function() {
        $(this).slideDown();
    });
}
Run Code Online (Sandbox Code Playgroud)

除了$(this)通过这一阶段现指someElement,而不是等按计划不起作用.

我如何参考我的原件element.flag.我尝试过使用,$this = $(this)但我认为我的语法必须错误.

有任何想法吗?

med*_*iev 5

保存参考.

if($(this).hasClass('flag')) {
    var el = this;
    $('someElement').slideUp(function() {
        $(el).slideDown();
    });
}
Run Code Online (Sandbox Code Playgroud)