Функция загрузки изображения Jquery - PullRequest
1 голос
/ 11 февраля 2011
// 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 });
            }
        });
    });

Функция загрузки никогда не вызывается ... Я знаю, что я, вероятно, выполняю это неправильно, но как только изображение завершено, оно автоматически изменяет размер своей обертки , затем Мне нужно взять размеры.

Может кто-нибудь помочь?

1 Ответ

3 голосов
/ 11 февраля 2011

Вам не хватает хеша:

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

должно быть

 $('#imgA' + newImgID).load(function() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...