2011-02-11 54 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()