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

标签 jquery function callback jquery-animate

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

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

编辑:

Test page

在上面的测试页面上,我想通过单击左上角的“文本选项卡”使另一个 div 滑出,但是根据 jQuery .animate() 文档,使用了步骤:函数同步不同元素的动画,我这里是我的 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 );
   });
});

如您所见,我使用“正常”函数(非步骤:函数)来完成动画......所以我想知道我是否仍然可以使用我当前在实现时使用的函数步骤:在同一个回调中运行,以便同步选项卡和另一个div的滑出。

最佳答案

如果“常规函数”是指动画结束时的回调,那么可以,只需使用第二个选项设置动画的所有属性即可论据:

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

示例: http://jsfiddle.net/n2pZp/1/

关于jquery - jQuery 中的 .animate() 回调可以有一个步骤函数和一个普通函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480069/

相关文章:

c - 为什么 C 标准不支持嵌套函数?

mysql - 在MySQL中计算上午6点之前和晚上10点之后的时间差

C 宏函数 If...Else 值

PHP 警告 : array_filter() expects parameter 2 to be a valid callback, 第二个数组成员不是有效方法

javascript - jQuery/JS 表单问题

jquery - 如何选择当前拖动的元素?

javascript - 使用jquery从按钮的动态id动态显示内容

javascript - 具有 contentEditable 的 Div 不会使用 Javascript 发布到表单中

Jquery:返回之前等待回调

javascript - sails.js 如何传递多个模型的 View 变量