在我的jquery函数中,我在ul列表中有很少的元素,其中一些元素被显示,而其中一些元素没有。单击li项后,我想检查,如果有任何显示,将其隐藏(通过向左滑动),并执行另一个操作(但仅在执行第一个功能时!)。那么我该怎么检查,如果第一个动作被执行(元素是由jquery动画的)? HTML代码如下所示:
<ul>
<li>
<div class="content_nav content_nav1">
</div>
<div class="content_el content_el1">
</div>
</li>
<li>
<div class="content_nav content_nav2">
</div>
<div class="content_el content_el2">
</div>
</li>
</ul>
和jQuery:
for ( var i=1; i<3; i++)
{
if (i != item_number)
{
var another_content = ".content_el" + i;
var another_nav = ".content_nav" + i;
$(another_content).animate({'width': 'hide'}, animate_duration);
//here i want to check, if action above was performed
$(another_nav).animate({'width':'show'}, animate_duration);
}
}
我将不胜感激任何帮助! 提前谢谢。
编辑: 所以,正确的问题是,哪个css参数
$(another_content).animate({'width': 'hide'}, animate_duration);
修改。
答案 0 :(得分:0)
动画功能附带一个完整的&#39;处理程序。 https://api.jquery.com/animate/
像这样运行你的功能:
$(another_content).animate({'width': 'hide'} , animate_duration, function(){
$(another_nav).animate({'width':'show'}, animate_duration);
})
编辑: 动画功能始终是&#34;执行&#34;所以你需要检查元素是否可见以开始宽度:
if($(another_content).is(":visible")){
$(another_content).animate({'width': 'hide'} , animate_duration, function(){
$(another_nav).animate({'width':'show'}, animate_duration);
})
}
答案 1 :(得分:0)
如果我理解你的问题,
您可以在another_nav
完成动画后传递一个功能以显示another_content
$(another_content).animate({width: 'hide'}, animate_duration, function () {
$(another_nav).animate({width:'show'}, animate_duration);
)};