Получить функцию JQuery для выполнения после и независимо от onLoad - PullRequest
0 голосов
/ 16 марта 2010

Можно ли выполнить функцию JQuery, вставив ее на страницу? ЭТО НЕ МОЖЕТ быть присоединено к функции .ready. Причина в том, что пользователь будет загружать изображение через iframe. Мне нужно, чтобы JCrop выполнялся после отображения загруженного изображения.

echo "<script>$('#pictures_step1_right_bottom1', window.parent.document).html('<img id=\"cropbox\" src=\"../../box/" . 'THM' . $filenameAlt . '.jpg' . "\">');</script>";

echo "<script>jQuery(function(){jQuery('#cropbox').Jcrop();});</script>";

Это выполняется в iframe, который обрабатывает изображение. Затем он отправляет его на главную страницу. Это не работает, однако.

EDIT:

Закончено выполнение таймера:

function checkPic() {  
    if($('#cropbox1').length != 0) {
        jQuery(function() {
            jQuery('#cropbox1').Jcrop();
        });
    }
    timer(); // Check size again after 1 second
}

function timer() {
    var myTimer = setTimeout('checkPic()', 3000); // Check size every 1 second}
}

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

в конечном итоге запустить таймер:

checkPic(); 
function checkPic() 
{ 
   if($('#cropbox1').length != 0) 
   { 
       jQuery(function() { jQuery('#cropbox1').Jcrop(); }); 
   } 
   timer(); // Check size again after 1 second 
} 
function timer() 
{ 
   var myTimer = setTimeout('checkPic()', 3000); // Check size every 1 second 
}
0 голосов
/ 16 марта 2010

Используя javascript, вы можете загрузить изображение и проверить, когда оно закончило загрузку.

Это не JQuery, а обычный JS, но это та же идея. С целью быть там, где изображение. Функция вернет true, если загрузка завершена, и false в противном случае. Как только это правда, запустите ваш метод JCrop.

document.getElementById( target ).complete
...