2011-03-22 81 views
0

這裏是我的Javascript之前服務器端JavaScript的圖像加載部署

<%-- script to load the default image--%> 
<script type="text/javascript"><!-- 
    window.addEventListener('load', function() { 
     // Get the canvas element. 
     var elem = document.getElementById('mycanvas'); 
     if (!elem || !elem.getContext) { 
      return; 
     } 

     // Get the canvas 2d context. 
     var context = elem.getContext('2d'); 
     if (!context || !context.drawImage) { 
      return; 
     } 

     // Create a new image. 
     var img = new Image(); 

     // Once it's loaded draw the image on the canvas. 
     img.addEventListener('load', function() { 


      // Crop and resize the image: sx, sy, sw, sh, dx, dy, dw, dh. 
      context.drawImage(this, 0, 0, 400, 300); 
     }, false); 
     var imgid = '<%=defaultImage.ClientID %>' 
     img.src = document.getElementById(imgid).src; 
    }, false); 
// --></script> 

如果你看一下在最底層的img.src,它從被假設以獲取圖像服務器加載defaultImage.ClientId在頁面上。如果我使用正常的網址,但是如果我使用document.getElementById(imgid).src它只是不加載圖像。我假設它是因爲JavaScript在服務器端代碼運行之前加載的。我怎樣才能解決這個問題?

回答

0

放入的document.ready你的JavaScript()...此外,這可能是由於圖像是在另一個控制..

+0

或從Document.Ready();-)中調用該函數 – jwillmer 2011-03-22 04:18:34

0

把JS在你的HTML的底部,在此情況下,頂。