2011-02-11 78 views
1
// Called when image is dropped in canvas 
function dropResource() { 

    var imgIndex = getImageIndexByID(currentDragImageID); 
    var newImgID = resourceData.length; 
    var newImage; 

    newImage = $('<div id="imgD' + newImgID + '" style="display:inline-block;position:absolute;"><img alt="Big" id="imgA' + newImgID + '" src="' + uploadFolder + '/' + imgData[imgIndex][1] + '" /></div>'); 
    $('#thePage').append(newImage); 

    $('imgA' + newImgID).load(function() { 

     // Get properties 
     var imgW = $('#imgA' + newImgID).width();   // Native width store this 
     var imgH = $('#imgA' + newImgID).height();   // Native 
     var imgX = $('#imgA' + newImgID).position().left; // Relative, scale back 
     var imgY = $('#imgA' + newImgID).position().top; 
     var zindex = getBiggestZindex() + 1; 

     // Resize native dimensions to fit current scale 
     $('#imgA' + newImgID).width(Math.round(imgW * currentScale)); 
     $('#imgA' + newImgID).height(Math.round(imgH * currentScale)); 
     $('#imgA' + newImgID).css("z-index", zindex); 

     // Add to array (dbID, imgarrIndex, width, height, x, y) 
     resourceData[newImgID] = new Array(0, imgIndex, imgW, imgH, imgX, imgY, zindex); 

     // Make img wrapper draggable 
     makeResourceDrag(newImgID); 

     // Save this as a resource 
     $.ajax({ 
      url: 'artworkAjaxHandler.ashx?type=addResource&uploadID=' + currentDragImageID + '&page=' + currentPage + '&w=' + imgW + '&h=' + imgH + '&x=' + imgX + '&y=' + imgY + '&z=' + zindex, 
      success: function(data) { 
       var splitData = data.toString().split("|"); 

       // Success 
       if (splitData[0] == "1") { 

       } else { 
        $.fancybox.close(); 
        $.jGrowl("<strong>Error during image drop! Try reloading page.</strong><br />" + splitData[1], { sticky: true }); 
       } 
      }, 
      error: function() { 
       $.jGrowl("<strong>Error</strong><br />There was an error when processing the Ajax request", { sticky: true }); 
      } 
     }); 
    }); 

負載的功能是永遠不會調用...我知道我可能是不正確執行此操作,但一旦圖像加載完畢後重新調整它的包裝自動然後我需要抓住尺寸。jQuery的圖像加載功能

任何人都可以幫忙嗎?

回答

3

你缺少一個哈希:

$('imgA' + newImgID).load(function() 

應該

$('#imgA' + newImgID).load(function()