0

是否可以通过将 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 中执行的。然后将其发送到主页。但是,这不起作用。

编辑:

结束运行计时器:

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}
}
4

2 回答 2

0

使用 javascript 您可以加载图像并检查它何时完成加载。

这不是 JQuery,而只是普通的 JS,但它是相同的想法。目标是图像所在的位置。如果加载完成,该函数将返回 true,否则返回 false。一旦它是真的,运行你的 JCrop 方法。

document.getElementById( target ).complete
于 2010-03-16T04:35:25.753 回答
0

最终运行了一个计时器:

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 
}
于 2011-07-15T11:11:28.937 回答