2010-07-31 38 views
2

我試圖在一個div以這種方式使用ATTR改變SRC後垂直居中新形象得到新的高度:變化的Src與使用jQuery

$("#image").attr("src",newsrc); 
var height = $("#image").height(); 
var newmargin = (divsize - height)/2; 
$("#image").css=("margin-top",newmargin); 

它總是使用先前圖像的高度。這是一個時間的事情?我是否需要綁定獲得新的高度以防止它過早地抓住(之前的圖像)高度?

所有圖像都預裝在頁面載入中...

回答

1

做我需要綁定獲得新的高度的東西,以防止它過早地抓住了(以前的圖像)的高度?

有點。 load事件應該工作。

$("#image").attr("src",newsrc); 
$('#image').load(
    function() { 
     var height = $("#image").height(); 
     // ... 
    } 
); 

http://api.jquery.com/load-event/

+1

試過..不過只得到以前的圖像高度。 – minikomi 2010-07-31 07:33:04

+0

@minikomi下面是一個工作示例http://jsfiddle.net/pLFCd/1/ – 2010-07-31 13:51:18

+0

有趣的..謝謝你花時間做這個。 它的工作!除了當您按下顯示圖像的按鈕,然後按替代圖像按鈕時 - 它會以鉻形式顯示之前的圖像高度。 Safari和Firefox提供正確的迴應。也許這就是我所看到的。有趣。 EG。設置爲雅虎 - >按1爲沒有圖像變化 - >按2 期望:95 結果:50 – minikomi 2010-08-03 13:27:04