2012-03-30 52 views
2

我正在做一個元素的寬度轉換。 在我的jquery中添加一個類,並在css中描述轉換。如果我現在用jquery查詢這個元素在添加該類後的寬度,我得到這個元素的當前寬度,但這不是它的最終寬度。 如何獲得最終寬度?是否有事件,轉換完成或類似的東西? 我應該使用超時還是jQuery手錶?如何在轉換後獲取元素的屬性?

/親切的問候 基督教

編輯: 更妙的是現在:JSFiddle

在第一次點擊的方法寬度()返回100,改造後返回200如何在得到結果第一次點擊?

+6

代碼是勝過千言萬語。 – 2012-03-30 12:36:36

回答

2

確保您正在轉換的元素具有塊的顯示類型(display:block),否則無法修改元素的寬度。

HTML:

<a href="#">Bigger</a> 

的Jquery:

$('a').click(function(e){ 
    console.log($(this).width()); 
    $(this).addClass('bigger'); 
    console.log($(this).width()); 
}); 

CSS:

a { 
    width:100px; 
    background: #ccc; 
} 
.bigger { 
    width: 200px; 
} 
+0

我的問題不是,如何轉換,它是如何在添加類後查詢元素的某些屬性(在這種情況下爲寬度),當轉換花費一秒左右時。在編輯中查看我的代碼。謝謝 – Christian 2012-03-30 12:52:02