2011-03-22 83 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的底部,在此情况下,顶。