Jquery图像加载功能

时间:2011-02-11 11:08:24

标签: javascript jquery image load

// 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 });
            }
        });
    });

加载函数永远不会调用... 我知道我可能不正确地执行此操作,但是一旦图像加载完毕,它会自动调整它的包装然后 I需要抓住尺寸。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您缺少哈希:

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

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