Javascript 在元素之间传递缓和行为,jQueryUI
我有一个对象Javascript 在元素之间传递缓和行为,jQueryUI,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个对象accordiooptions,它调解了accordion对象的行为 在我的页面上。它看起来像: var accordionOptions = { icons: { header: 'ui-icon-circle-arrows-e', activeHeader: 'ui-icon-notice' }, ani
accordiooptions
,它调解了accordion对象的行为
在我的页面上。它看起来像:
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
});
});
你可以在小提琴上看到这不起作用。我试过几次,都没有成功。如何使用
accordioOptions
参数将所需的行为附加到测试
div?对使用easing。animate
与略有不同。accordio
需要分别通过持续时间和easing,而不是应该设置动画的。您应该设置一个高度或它应该设置动画的任何属性
$('#test').animate({ height: 100 }, accordionOptions.animate.duration, accordionOptions.animate.easing);
或与您最初的操作方式类似的较短语法:
$('#test').animate({ height: 100 }, accordionOptions.animate);
更新的fiddle:如果您愿意,您也可以在同一对象中传递缓和和持续时间,它只需要是第二个参数(因为第一个参数提到了要设置动画的属性)。现在我可以看到,我忽略了设置测试元素的y轴位置的动画,所以它不可能工作,即使我传递了正确的属性。@wootscootinboogie确实非常关键,因为jQuery非常棒,但还不能读懂我们的心思;)