2011-07-18 10 views
2

私はASP.NET MVCアプリケーションを持っています。私は2つのJQueryプラグインを使用しています:colorboxとjcrop。私の問題は、カラーボックスのサイズ変更機能です。私がカラーボックスにコンテンツをロードした後は、サイズ変更機能を呼び出して、その内容に合わせてカラーボックスのサイズを変更します。これは、その直後にjcropプラグインをミックスに追加するという点を除いて、素晴らしいことです。 Jcropはcolorboxのサイズ変更関数が終了する前に少しだけ起動します。このため、jcropのデータが歪んでしまいます。これは、この例のように、最初の移動中にジャンプするトリミングツールが発生します。上記の例では、作物のセレクタは、この質問のように、最初の移動中にジャンプする方法jQuery colorboxプラグインリサイズコールバック

http://jsfiddle.net/Xg84D/12/

お知らせ:

jQuery Jcrop setSelect shows visually, but when clicked to move, it jumps

私はこれを停止することが見出されている唯一の方法は、この例のように、サイズ変更コード火災の前に終了されていることを確認するためにsetTimeout()にjcropビットをラップし、1秒間のコードを遅らせることである。

http://jsfiddle.net/Xg84D/13/

ここで、クロップ領域をドラッグすると、最初は飛び越えません。 setTimeout()を使用することは間違いなく私が好きではないハックなので、誰かが何か提案があるかどうか知りたいのですが。 jQuery.colorbox.resize()のみがその設定オブジェクトのコールバック関数を受け入れた場合。

ありがとうございます!

+0

[http://jsfiddle.net/Xg84D/12/](http://jsfiddle.net/Xg84D/12/)]で問題が表示されません。別のサンプルを提供できますか? – Tocco

+0

最初の例では、クロップスクエアをドラッグします。画像の右下に飛びます。次に、2番目の作物の四角形をドラッグし始めると、バタフライで滑らかであることがわかります。ジャンプすることはありません。最初のドラッグの後の最初の例では1回だけジャンプしますが、迷惑にならないほど十分です。 – Chev

+0

とった!私は問題を見ることができます... – Tocco

答えて

2

GitHubのcolorboxの開発版には、あなたの問題を解決するコミットがあります。
は、私はあなたがコールバックパラメータを受け入れるようにjquery.colorbox.jsファイル内の関数resizeを編集する必要があることだと思うhere

それを参照してください。リンクが示唆するように。

@@ -450,7 +450,7 @@  
    });  
    };  

- publicMethod.resize = function (options) {  
+ publicMethod.resize = function (options, loadedCallback) {  
    if (open) {  
     options = options || {}; 

@@ -475,7 +475,7 @@ 

     } 

     $loaded.css({height: settings.h});   

-  publicMethod.position(settings.transition === "none" ? 0 : settings.speed);  
+  publicMethod.position(settings.transition === "none" ? 0 : settings.speed, loadedCallback); 
    } 
    }; 

幸運!

+0

または多分あなたはそれをダウンロードすることができます[ここ](https://github.com/jasonmoo/colorbox/zipball/91de326355a51cfcf49762a41f97479f6fc9b9a1)(圧縮) – Tocco

+0

壮大な! +1と受け入れる:) – Chev

+0

今このhttp://jsfiddle.net/Xg84D/14/素晴らしい作品:D – Chev

関連する問題