2011-11-17 11 views
0

我已經完成了這一半工作,但是,當我嘗試創建if語句以將寬度更改爲「100%」和高度是'自動',反之亦然,取決於圖像的哪一部分更大,它不會改變。導致圖像離開頁面。使用jquery更改圖像的寬度和高度值,相對於瀏覽器問題

這裏是我試圖讓工作

(function() { 

var img = document.getElementById('maincontent').firstChild; 
img.onload = function() { 
if(img.width > img.height) { 
    img.width = '100%'; 
    img.height = 'auto'; 
} 
}; 
}()); 

所以我掠IMG這是div搜索Maincontent的孩子然後改變,如果需要它的寬度和高度值的代碼。但它似乎並沒有激活。

我有這段代碼能夠正常工作,我在代碼的末尾添加了寬度和高度變化,但它仍然無法工作。當我將邊框部分添加到它時,它會添加邊框,所以我知道代碼應該可以工作。

$('#thumbs img').click(function(){ 
/* On a thumbnail click */ 
var src = $(this).attr("src").match(/[^\.]+/) + "large.jpg"; 
$('#maincontent img').attr("src", src); 
$('#thumbs img').removeClass('inact').addClass('act'); 
$(this).removeClass('act').addClass('inact'); 
$('#maincontent img').width = '100%'; 
$('#maincontent img').height = 'auto'; 
$('#maincontent img').attr('border', '10px'); 

}); 
}); 

因此改變圖像作品的SRC, 也是如此邊框的屬性,但寬度和高度沒有改變。有人知道爲什麼如果人們需要更多的工作讓我知道。

回答

0

你必須寫:

$('#maincontent img').width('100%'); 
$('#maincontent img').height('auto'); 

見這兩個函數的文檔:

+0

酷我覺得現在是工作,它的工作原理爲第一個圖像,我認爲,因爲我有img.onload它不工作時,其餘的圖像變化,所以我將不得不弄清楚如何改變調用函數工作,當圖像改變以及。感謝Guillaume Cisco =) –

0
$('#maincontent img').width = '100%';// this just override $.fn.width function 

無效jQuery的...你應該嘗試

$('#maincontent img').css('width', '100%'); 

同爲其他屬性...看jQuery的文檔的寬度()函數