2

我想知道是否有一个 jQuery 函数可以在不使用 jQuery UI 的情况下执行与此代码相同的效果?

$(selector).show('slide', { direction: 'right' }, 300);
4

2 回答 2

3

animate不,但你可以element随心所欲。

这是一个很棒的教程

于 2013-08-22T14:29:23.410 回答
0

这是我想出的一个快速插件。它基本上为widthopacity属性设置动画:

$.fn.slideRight = function(duration, callback) {

    duration = duration || 300;

    return this.each(function() {
        var $this = $(this),
            css = getInitialStyle($this);

        $this
            .css({width: 0, display: 'block'})
            .animate(css, duration, callback);
    });

    function getInitialStyle($el){
        var css = $el.data('initialStyle');

        if(!css || !css.width || !css.opacity) {
            var isHidden = $el.is(':hidden');
            if(isHidden) $el.show();
            css = {
                width: $el.width(),
                opacity: $el.css('opacity')
            }
            if(isHidden) $el.hide();

            $el.data('initialStyle', css);
        }

        return css;            
    }
}

这是现场演示

于 2013-08-22T14:57:55.577 回答