2012-06-26 161 views
0

我使用下面的代碼來檢查,如果圖像的寬度大於700大如果這樣,那麼我想一些搜索後,將其設置爲700javascript - 更改圖片寬度?

<img src="" id="main_image"> 
<script> 
    if(document.getElementById(main_image).width > 700) { 
    document.getElementById(main_image).width = 700; 
    } 
    </script> 

我發現上面的代碼,但它不管用。告訴我我做錯了什麼?

回答

2

嘗試用style

window.onload = function() { 
    if(+(document.getElementById('main_image').style.width) > 700) { 
     document.getElementById('main_image').style.width = '700px'; 
    } 
}; 

如果已設置width屬性,那麼你可以使用getAttribute('width')setAttribute(700)或直接width,你在幹什麼。但是如果它來自CSS,則需要使用style,如上所示。

+0

此代碼工作,但圖像是非常大的尺寸則是越來越重首次負荷大小爲700的寬度。任何方式我可以解決這個問題? – user1481850

+0

@ user1481850:嘗試指定使用css或'width'屬性的初始寬度,例如' Blaster

+0

如果我有寬度小於700的圖像,情況如何? – user1481850

0

您的問題可能是因爲您在頁面上存在元素之前正在運行腳本。嘗試反轉腳本和img標記。

2

使用「main_image」,而不是main_image

<script> 
if(document.getElementById("main_image").width > 700) { 
document.getElementById("main_image").width = 700; 
} 
</script> 
<img src="" id="main_image"> 

,或者您可以使用樣式也

document.getElementById("main_image").style.width = "700px";