哪个css参数修改了animate('width','hide')函数

时间:2014-03-25 13:02:05

标签: javascript jquery html css

在我的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);

修改。

2 个答案:

答案 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);
)};