Jquery,动画当前div宽度为+ 10px

时间:2013-05-07 07:07:23

标签: jquery jquery-animate width

我试图使div比div的当前宽度大10 px。 所以,如果我有多个不同宽度的div,它们都不会变成200像素, 但是140px div变为150px而210px div变为220px。

            $(function() {

            var $menu = $('#ldd_menu');
            $menu.children('li').each(function(){
                var $this = $(this);
                var $span = $this.children('span');
                $span.data('width',$span.width());

                $this.bind('mouseenter',function(){
                    $menu.find('.ldd_submenu').stop(true,true).hide();
                    $span.stop().animate({'width':'200px'},300,function(){
                        $this.find('.ldd_submenu').slideDown(100);
                    });
                }).bind('mouseleave',function(){
                    $this.find('.ldd_submenu').stop(true,true).hide();
                    $span.stop().animate({'width':$span.data('width')+'px'},300);
                });
            });
        });

2 个答案:

答案 0 :(得分:2)

您可以使用+=[amount]px-=[amount]px$span.stop().animate({ width: '+=10px' }, 300, function() {}); $span.stop().animate({ width: '-=10px' }, 300, function() {}); 将偏移量设置为当前宽度,而不是设置绝对值:

{{1}}

答案 1 :(得分:1)

您可以使用 -

$span.stop().animate({'width':'+=10px',......});
  

比当前尺寸大10px

+=10px就是解决方法。

请参阅demo