Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery中的.animate()回调可以有一个step函数和一个普通函数吗?_Jquery_Function_Callback_Jquery Animate - Fatal编程技术网

jQuery中的.animate()回调可以有一个step函数和一个普通函数吗?

jQuery中的.animate()回调可以有一个step函数和一个普通函数吗?,jquery,function,callback,jquery-animate,Jquery,Function,Callback,Jquery Animate,我试图使用一个step:函数使我的“tab”div和“options”div同时滑出(即同步两个div的动画),但我还需要一个用于动画的常规函数 是否可以将这两种类型的函数作为.animate()的回调函数 编辑: 在上面的测试页面上,我想点击左上角的“文本选项卡”制作另一个div幻灯片,但是根据jQuery.animate()文档,step:函数用于同步不同元素的动画,我这里是我的JS: $( "#optsdiv" ).hide(); $( "#closediv" ).hide(); $(

我试图使用一个step:函数使我的“tab”div和“options”div同时滑出(即同步两个div的动画),但我还需要一个用于动画的常规函数

是否可以将这两种类型的函数作为.animate()的回调函数

编辑:

在上面的测试页面上,我想点击左上角的“文本选项卡”制作另一个div幻灯片,但是根据jQuery.animate()文档,step:函数用于同步不同元素的动画,我这里是我的JS:

$( "#optsdiv" ).hide();
$( "#closediv" ).hide();
$( "#opendiv" ).click( function() {
  $( "#opendiv" ).animate( { left: "+=100px", opacity: 1 }, 1400, "easeOutExpo", function() {
     $( "#opendiv" ).hide();
     $( "#opendiv" ).animate( { left: "-=100px", opacity: 0.6 }, 0 );
     $( "#closediv" ).show();
    });
});

$( "#closediv" ).click( function() {
  $( "#closediv" ).animate( { left: "-=100px", opacity: 0.6 }, 1400, "easeOutExpo", function() {
    $( "#opendiv" ).show();
    $( "#closediv" ).hide();
    $( "#closediv" ).animate( { left: "+=100px", opacity: 1 }, 0 );
   });
});
正如你所看到的,我使用一个“正常”函数(非步骤:函数)来完成动画。。。因此,我想知道在同一个回调函数中实现step:function时是否仍然可以使用当前使用的函数,以便同步从选项卡和另一个div中滑出的内容。

如果“常规函数”是指动画末尾的回调,那么是的,只需使用第二个选项参数设置动画的所有属性:

$('.someElement').animate({width:100}, { duration:1000,
                                         step: function(){},
                                         complete: function(){} });

示例:

但是我可以同时拥有一个步骤:函数和一个“常规”回调函数吗?@Aaron:要么我不知道你所说的“常规”函数是什么意思,要么我不知道你所说的“同时”是什么意思。你是说你想让
步骤:
函数调用另一个函数吗?@Aaron:听起来你只是说你需要一个函数作为步骤回调运行,在动画完成后运行另一个函数。但这就是我的答案,所以我显然还是不理解你。请用一些代码更新您的问题(即使是一个简单的示例来说明您想要什么),或者像我在回答中所做的那样创建一个JSFIDLE。@Aaron:对于您当前的HTML,您似乎不需要
步骤
回调来协调两者。只需在
#optsdiv
上执行一个单独的(并行)动画,该动画同时启动,并与
#opendiv
动画具有相同的持续时间。更好的办法是,更改HTML和CSS,以便将它们都放在一个容器中。然后你就可以给容器设置动画,两者都会随之移动。@Aaron:不止你一个人!很高兴我能帮忙o)