当我单击下一个/上一个按钮时,如何在jquery ui日期选择器中为月份更改设置动画

时间:2016-09-20 08:08:02

标签: jquery-ui animation jquery-ui-datepicker

我想要一个像这里找到的日期选择器:

datepicker example

我正在使用jquery ui datepicker取得了很大的成功。我一次显示2个月,就像链接中的那个一样,但是当我点击下一个/上个月按钮时,我希望用幻灯片进行动画制作。

我试过这个,但它会动画整个日期选择器,即整个日期选择器滑出然后重新进入。

onChangeMonthYear: (year, month, inst): void => {
    $('.ui-datepicker')
                    .hide('slide', { direction: 'right' }, 300)
                    .show('slide', { direction: 'left' }, 300);
}

这是一个小提琴:

fiddle

得益于AB Udhay。我删除了onChangeMonthYear函数并将其放在了构造函数中(使用TypeScript):

        $(document).on('click', '.ui-datepicker-next', () => {
            $('.ui-datepicker-calendar')
                .hide('slide', { direction: 'left' }, 200)
                .show('slide', { direction: 'right' }, 200);
        });

        $(document).on('click', '.ui-datepicker-prev', () => {
            $('.ui-datepicker-calendar')
                .hide('slide', { direction: 'right' }, 200)
                .show('slide', { direction: 'left' }, 200);
        });

1 个答案:

答案 0 :(得分:1)

“onChangeMonthYear”方法将在日期和月份更改后触发。所以你点击按钮就可以做到这样的事情。

Updated Fiddle

public function register($className, $baseAttributes) {
    if (!($className classof AbstractFoo)) {
        throw new InvalidArgumentException();   
    }
    ...
}