在JQuery Width动画后删除width属性

时间:2012-03-16 16:01:17

标签: jquery jquery-animate

我正在动画从流体.span12中减少<section>的宽度以匹配.span3的宽度。 我目前的做法是:

$('#searchPanel').animate({width: '23.404255317%'}, 400);
$('#searchPanel').removeClass('span12');
$('#searchPanel').addClass('span3');

问题是,动画中设置的宽度会覆盖.span3类。这搞砸了我正在进行的一些响应性事情。

动画制作后如何摆脱宽度?我知道jquery ui有.switchclass,但我想我只是愚蠢地做这件事,应该知道如何做这样的事情......

谢谢!

更新: 它可能不是最好的解决方案,但我通过添加回调并删除'Style'属性来实现它:

$('#searchPanel').animate({width: '23.404255317%'}, 400, 'swing', function () {
    $(this).removeAttr('style').removeClass('span12').addClass('span3');
 } );

1 个答案:

答案 0 :(得分:1)

你试过吗

$('#searchPanel')
.animate({width: '23.404255317%'}, 400)
.removeClass('span12')
.addClass('span3')
.removeAttr('width');

另外,请记住只搜索一次元素$('#searchPanel),然后链接其他方法。