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

タイマーを実行することになりました:

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 に答える
0

JavaScript を使用すると、画像を読み込んで、読み込みが完了したことを確認できます。

これは JQuery ではなく、通常の JS ですが、考え方は同じです。ターゲットは画像のある場所です。ロードが完了すると関数は true を返し、それ以外の場合は false を返します。true になったら、JCrop メソッドを実行します。

document.getElementById( target ).complete
于 2010-03-16T04:35:25.753 に答える