2017-02-16 72 views
0

我創建了一個帶有Ajax功能的頁面(jQuery & PHP)。 我的問題是當我通過Ajax在我的頁面加載內容。我想讀取放置在Ajax容器中的圖像的寬度。jQuery-Ajax獲取Ajax容器內部圖像的寬度

我注意到一些非常了不起的東西。

我的腳本:

<script> 
$(window).ready(function() { 
    var bildBreite = $("#wrapper > #target-image").width(); 
    alert(bildBreite); 
    $("#wrapper > #image-wrapper").css({"width": bildBreite}); 
}); 
</script> 

它不工作,但是當我插入警報( 「加載」);然後工作。

<script> 
$(window).ready(function() { 
    alert("Load"); 
    var bildBreite = $("#wrapper > #target-image").width(); 
    alert(bildBreite); 
    $("#wrapper > #image-wrapper").css({"width": bildBreite}); 
}); 
</script> 

這裏發生了什麼,我該如何讀取圖像寬度?

+0

你是如何調用你的ajax?你能否也顯示這些代碼? – vusan

+0

user6834389

回答

1

在這種情況下,你需要成功回調,因爲AJAX是異步等窗口中加載它不會獲得元素寬度所以儘量像,

$.ajax({ 
    ... 
    success:function (response) { 
     var bildBreite = $("#wrapper > #target-image").width(); 
     $("#wrapper > #image-wrapper").css({"width": bildBreite}); 
    } 
}); 

瞭解更多關於jQuery.ajax

+0

謝謝你的解決方案,但是,我有一個小問題。我應該按兩次按鈕!貝福我得到一個圖像大小,你知道爲什麼?謝謝! – user6834389

+0

如果你的AJAX調用只需點擊一下,你就不需要點擊兩次。當你點擊按鈕時,請在瀏覽器的控制檯中查看並確保XHR請求已完成。 –

+0

如果一個緩存是乾淨的,我點擊按鈕我的第一個值是0,如果我再次點擊我得到一個正確的值。 – user6834389