我正在使用jquery,並且正在嘗試創建幻燈片。將圖像附加到瀏覽器之前,jquery.width()返回0零位
在我追加圖片之前,我會知道圖片的寬度。 (所以我使用。寬度() jquery和.attr(「寬度」)。
我代碼如下:
var attr_href = $next.attr('href'); /*returns the href of the image*/
var $item = $('<img src="'+attr_href+'" />');
//$item contains the image, the image is not displayed to the browser yet!!!
var itemWidth = $item.width();
alert(itemWidth);
// ---> returns zero 0 in Mozilla and in IE
var itemWidth2 = $item.attr("width");
alert(itemWidth2);
//In Mozilla, the first time it returns 0.After the image is loaded, it returns the right Width
//In IE, always returns 0 zero !!!
//Now i have to append the photo and i have to use the right Width of the image!!!
var final_img = $('<img src="'+attr_href+'" width="'+itemWidth+'"/>');
$('.SlideShow').append(final_img);
所以,我試圖用.load()和我所做的:
var attr_href = $next.attr('href'); /*returns the href of the image*/
var $item = $('<img src="'+attr_href+'" />');
//$item contains the image, the image is not displayed to the browser yet!!!
$item.load(function () {
var WidthAfterLoading = $item.attr("width");
var WidthAfterLoading2 = $item.width();
});
alert(WidthAfterLoading); //returns "undefined" in both IE and Mozilla
alert(WidthAfterLoading2); //returns "undefined" in both IE and Mozilla
所以,在我追加圖像到瀏覽器,我會知道圖像的正確寬度。 但我得到零(0)和未定義。
有沒有其他辦法,爲了取圖像的右邊寬度?
感謝,提前
沒有'width'屬性 – Phil
所以之前的元素到DOM連接,.attr(「寬「) 是錯的? – programmer
我道歉,我在想''item'是'a'標籤。 – Phil