2013-10-09 33 views
0

我的設計是這樣的:使用window.resize在圖像上再次運行加載函數?

<img class="imgtest" src="img.png" onload="scaleimg(event)" /> 

現在,我要再次呼籲scaleimg(event)函數圖像時具有的尺寸重新調整窗口.imgtest類。

我試過了,但它不工作。

$(window).resize(function() { 
    $("img").one('load', function(){ 
     scaleimg(event); 
    }); 
    }); 

幫我修復它。謝謝你的幫助。

回答

0

你可以嘗試這樣做只是

$(window).resize(function() { 
     scaleimg(); 
    }); 
2

您應該避免使用內嵌的JavaScript - 對於你的問題,你可以在觸發窗口上的resize事件再次運行scaleimg()當DOM準備好,然後:

$(document).ready(function() { 
    // When DOM is ready, go through each <img> with the class '.imgtest' 
    $('img.imgtest').each(function() { 
     scaleimg(event); 
    }); 

    // Listen to resize event on $(window) 
    $(window).resize(function() { 
     $('img.imgtest').each(function() { 
      scaleimg(event); 
     });   
    }); 
}); 

更妙的是,你可以解僱的.resize()時再DOM是通過鏈接準備,爲自己節省的幾行代碼:

$(document).ready(function() { 
    // Listen to resize event on $(window) 
    $(window).resize(function() { 
     $('img.imgtest').each(function() { 
      scaleimg(event); 
     });   
    }).resize(); // Notice the chaining 
}); 
+0

我已經嘗試了一整天,但它不成功。請在這裏幫助我使用我的HTML文件(http://www.mediafire.com/?wngm0gg25m3ps1d)。非常感謝。我非常感謝你的幫助。我會把你的答案投給最好的。再次感謝。 –

+1

對不起,我們不接受文件傳輸。您發佈了您在此處的代碼,或嘗試使用JSFiddle進行復制。 – Terry

+0

謝謝特里。你可以在這裏查看Fiddle(http://jsfiddle.net/h9DEF/8/)。它是縮放圖像的代碼。小提琴不會在那裏運行。縮放是可以的,但Window.resize不起作用。 –

相關問題