0

我正在尝试使 div 比 div 的当前宽度大 10 px。因此,如果我有多个宽度不同的 div,它们不会全部变为 200 像素,但 140 像素的 div 变为 150 像素,而 210 像素的 div 变为 220 像素。

            $(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);
                });
            });
        });
4

2 回答 2

3

+=[amount]px您可以使用或使用当前宽度的偏移量,而不是设置绝对值-=[amount]px

$span.stop().animate({ width: '+=10px' }, 300, function() {});
$span.stop().animate({ width: '-=10px' }, 300, function() {});
于 2013-05-07T07:15:52.000 回答
1

您可以使用 -

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

比当前尺寸大 10px

+=10px是解决这个问题。

演示

于 2013-05-07T07:19:36.800 回答