所以我創建一個新的形象元素,一旦我得到來自AJAX調用響應與圖像元數據,這樣的收益0 ()函數返回0,儘管圖像的大小爲30 x 30像素,並且它在頁面上正確顯示。我需要獲得它的尺寸以絕對定位圖像。jQuery的寬度()和高度()爲img元素
18
A
回答
46
您需要等到圖像加載才能訪問寬度和高度數據。
var $img = $('<img>');
$img.on('load', function(){
console.log($(this).width());
});
$img.attr('src', file.url);
或用純JS:
var img = document.createElement('img');
img.onload = function(){
console.log(this.width);
}
img.src = file.url;
而且,你並不需要,將圖像插入到DOM你讀的寬度和高度值之前,所以你可以留下你的.loading-image
直到更換計算完所有正確的位置後。
7
這是因爲未加載圖片時您檢查寬度
嘗試使用Load事件這樣
$('img').on('load',function(){
// check width
});
-3
如果你把它的AJAX調用內,將工作過,這是JSON的方法
$.post("URL",{someVar:someVar},function(data){
var totalImgs = $('body').find('img').length;
var image = $('<img src="' + data.file[0].url + '" alt="" id="IMG_'+ totalImgs +'">');
loadedImageContainter.append(image);
$('.loading-image').replaceWith(loadedImageContainter);
var width = $('#IMG_'+totalImgs).width();
var height = $('#IMG_'+totalImgs).height();
},'json');
-1
試試這個:
$('.loading-image').replaceWith(loadedImageContainter);
$('.loading-image').load(function(){
var width = image.width();
var height = image.height();
console.log(width);
console.log(height);
});
0
您也可以使用備用API $.load方法:
$('<img src="' + file.url + '" alt="">').load(function(){ <your function implementation> });
0
由於@ahren said較早的原因是,當你特林得到它的大小不會加載該圖像。
如果要解決這個問題,而不jQuery的你可以用香草JS addEventListener
方法:
document.getElementsByTagName('img')[0].addEventListener('load', function() {
// ...
var width = image.width();
var height = image.height();
console.log(width);
console.log(height);
// ...
});
相關問題
- 1. FCKEditor,爲img元素添加寬度和高度
- 2. jQuery img swap - 保持寬度和高度
- 3. 將高度和寬度設置爲img
- 4. 力IMG元素來填充容器高度和寬度
- 5. 如何獲取未設置寬度和高度的img元素的寬度和高度?
- 6. webkit - html元素的寬度和高度
- 7. 獲取元素的寬度和高度
- 8. IMG和TD的CSS寬度/高度
- 9. CSS更改元素高度和寬度
- 10. 爲什麼我的塊元素的寬度和高度爲0?
- 11. 使用jQuery去除元素上的寬度和高度標籤?
- 12. jQuery不更新元素的CSS高度和寬度
- 13. JQuery UI獲取丟棄元素的寬度和高度
- 14. 將元素的高度設置爲%高度的元素高度
- 15. 方法元素的寬度/高度
- 16. Javascript:獲取img元素的寬度
- 17. 無法獲得img寬度和高度jQuery
- 18. 元素高度/寬度縮放問題
- 19. jQuery的元素寬度
- 20. background-img沒有高度或寬度?
- 21. 獲取未顯示元素的子元素的寬度/高度
- 22. jQuery幻燈片 - 元素具有錯誤的寬度/高度
- 23. JavaScript/JQuery函數獲取HTML元素的原始高度/寬度
- 24. jQuery的高度()寬度()
- 25. 元素寬度/高度是否小於最小寬度/最小高度?
- 26. Jquery中的寬度和高度圖像
- 27. jquery身體的寬度和高度
- 28. jQuery元素的高度
- 29. WP7組圖片元件高度/寬度的BitmapImage高度/寬度
- 30. 根據視口的寬度和高度設置元素的高度
嘗試$(窗口).load(函數(){VAR 寬度= image.width(); VAR height; image.height(); console.log(width); console.log(height); }); –