2011-10-12 131 views
0

我想調整大小的圖像取決於它的大小與JS功能,它獲得所有圖像在div中,但我面臨的問題getelement的標記名,我必須將圖像樣式設置爲img HTML標記或它從來沒有工作,在這個測試項目的容易做,但我真正的有許多圖像到這個div和許多網頁,使這裏的功能和它的HTMLJavascript圖像調整大小

<script type="text/javascript"> 
function x() { 
    var yourdiv = document.getElementById('test'); 
    var yourImgs = yourdiv.getElementsByTagName('img'); 
    for (var i = 0; i < yourImgs.length; i++) { 
     if (yourImgs[i].style.height == '1000px' && yourImgs[i].style.width == '1000px') 
      { 
       yourImgs[i].style.height = '700px'; 
       yourImgs[i].style.width = '800px'; 
      } 
     else 
      { 
      yourImgs[i].style.height = '400px'; 
       yourImgs[i].style.width = '300px'; 
      } 

    } 
} 
window.onload= x; 
</script> 
</head> 
    <body> 
     <div id="test"> 
     <img alt='' class="test_img" style="height:1000px;width: 1000px;" src='imges/book1.jpg' /> 
     <img alt='' class="test_img" style="height:1000px;width: 1000px;" src='imges/book2.jpg' /> 
     </div> 
+0

似乎在這裏工作正常,當我把它放入jsFiddle:http://jsfiddle.net/jfriend00/5yjfy/。 – jfriend00

+0

在你的代碼樣例中,'else {}'塊永遠不會執行,因爲'if()'裏面的條件是你的代碼的全部_true_!如果您需要在下載後將'IMG'標記重置爲真實圖像大小,只需執行:'.style.width =「」; .style.height =「」;' –

+0

我在這裏看到問題:http://jsfiddle.net/5yjfy/1/ yourImgs [i] .style.height和yourImgs [i] .style.width永遠不會獲得值,如果風格不內聯。這是他的意思。 –

回答

0

忽略的風格,只是檢查的高度和寬度像這個例子:

http://jsfiddle.net/5yjfy/2/

function x() { 
    var yourdiv = document.getElementById('test'); 
    var yourImgs = yourdiv.getElementsByTagName('img'); 
    for (var i = 0; i < yourImgs.length; i++) { 
     if (yourImgs[i].height == 1000 && yourImgs[i].width == 1000) 
      { 
       yourImgs[i].style.height = '700px'; 
       yourImgs[i].style.width = '800px'; 
      } 
     else 
      { 
      yourImgs[i].style.height = '400px'; 
       yourImgs[i].style.width = '300px'; 
      } 

    } } window.onload= x; 
+0

是的,它的工作非常感謝 – user974946