我有一个回调函数如下
$('#lnkClientData').click(function() {
$('#clientdiv').slideToggle(function(){
if($('#lnkClientData').hasClass('open'))
{
$('#divnext').slideToggle();
$('#lnkClientData').removeClass('open').addClass('close');
}
else
{
$('#divnext').slideToggle();
$('#lnkClientData').removeClass('close').addClass('open');
}
}
);
});
我希望$('#divnext').slideToggle();
代码在外部$('#clientdiv').slideToggle()
函数之前执行....
现在,外部函数首先被调用....我想要做的是在div
幻灯片时隐藏一个锚点...但是他发生在div
幻灯片...之前/ p>
if($('#clientDiv').is(':visible'))
{
alert('');
// $('#divnext').hide();
//$('#clientDiv').slideToggle(); // Or whatever animation you want
}
else
{
//$('#clientDiv').slideToggle(function() // Or whatever animation you want
//{
// $('#divnext').show();
//});
}
答案 0 :(得分:1)
您只需要重新排序代码(不知道slideToggle实现的具体情况,我假设您的参数在幻灯片完成时是一个回调)
$('#divnext').slideToggle(function()
{
// Code here executes after slide is finished but before clientdiv starts
$('#clientdiv').slideToggle(function()
{
// Code here executes after both slides are done
});
});
编辑:
在您的情况下,只需使用一个slideToggle方法来显示/隐藏客户端div不是最好的主意。
if($('#clientDiv').is(':visible'))
{
$('#yourLink').hide();
$('#clientDiv').slideDown(); // Or whatever animation you want
}
else
{
$('#clientDiv').slideUp(function() // Or whatever animation you want
{
$('#yourLink').show();
});
}
答案 1 :(得分:0)
代码设置为切换lnkClientData然后在完成切换clientdiv时,如果你交换它们,即:
$('#divnext').click(function() {
$('#clientdiv').slideToggle(function(){
if($('#lnkClientData').hasClass('open'))
{
$('#lnkClientData').slideToggle();
$('#lnkClientData').removeClass('open').addClass('close');
}
else
{
$('#lnkClientData').slideToggle();
$('#lnkClientData').removeClass('close').addClass('open');
}
}
);
});