传递元素之间的缓动行为,jQueryUI

时间:2013-10-11 19:49:37

标签: javascript jquery jquery-ui

我有一个对象accordionOptions,用于调解手风琴对象的行为 在我的页面上。它看起来像:

 var accordionOptions = {
                icons: {
                    header: 'ui-icon-circle-arrows-e',
                    activeHeader: 'ui-icon-notice'
                },
                animate: {
                    easing: 'easeOutBounce',
                    duration: 1000
                }
            }

我正在使用该对象来确定手风琴的行为,如下所示:

 $('#accordion1').accordion({
                icons: accordionOptions.icons,
                animate: accordionOptions.animate
            });

我的页面上有一个锚标记,点击后我打算在点击一个新面板时与手风琴有相同的动画:

$('#btnChange').click(function () {
                $('#test').animate({

                    easing: accordionOptions.animate.easing
                });
            });

你可以在小提琴here中看到这不起作用。我尝试了几件事,都是不成功的。如何使用我的test参数将我想要的行为附加到accordionOptions div?

1 个答案:

答案 0 :(得分:1)

.animate使用缓动与.accordion略有不同 - 您需要将持续时间和缓动分开,与动画应该分开。你应该设置一个高度或它应该动画的任何属性。

$('#test').animate({ height: 100 }, accordionOptions.animate.duration, accordionOptions.animate.easing);

或者更短的语法,类似于你最初的做法:

$('#test').animate({ height: 100 }, accordionOptions.animate);

更新小提琴http://jsfiddle.net/C6Eax/1/