2012-03-16 16 views
1

我正在動畫從流體.span12減少<section>的寬度以匹配.span3的寬度。 如何我目前做的是:在JQuery Width動畫之後刪除寬度屬性

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

問題是,在動畫設置寬度重寫.span3類。這正在搞亂我正在進行的一些響應式的東西。

如何在動畫之後擺脫那個寬度?我知道,jquery ui有.switchclass,但我想我只是在做一個愚蠢的方式,應該知道如何做這樣的事情...

謝謝!

更新: 它可能不是最好的解決辦法,但我得到了它加入了回調和刪除「樣式」屬性的工作:

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

小提琴將幫助您快速獲得解決方案 – 2012-03-16 16:31:20

+0

Thanks,the upd吃了幫助解決了我的問題。您應該將其添加爲解決方案並自行接受。 – shailenTJ 2013-08-22 13:13:28

回答

1

你試過

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

此外,請記住只搜索元素$('#searchPanel「),然後鏈接其他方法。

+0

謝謝你的提示!這將清理我的代碼很多。我想通了,我需要把所有這些都放在回調中。而不是刪除'寬度'我需要刪除'風格' – adplusverb 2012-03-16 16:25:45

+0

你是對的,我忘了動畫的回調,也應該考慮在jQuery中的動畫隊列,在事件多次被觸發的情況下。 – demve 2012-03-17 15:24:25