2012-02-15 7 views
1

Jcropはファンシーボックスなしで正常に動作しています。 しかし、私がFancyboxの中にJcropをロードすると、イメージをトリミングすることができません。JCrop - FancyBox - Jcropが正しく動作しない

イメージはブラウザで2回表示されます。 私はそれがCSSの問題か何かでなければならないと思う。

解決策はありますか?

+0

私はそのfancyboxを発見し、jcrop正常に動作します。私はfancyboxで画像アップロードを使用します。次の停止時に、アップロードされた画像をfancyboxで読み込んでトリミングします。私はjcropがそこで働いていないことを発見しました... – Kamini

答えて

2

更新: Fancybox 2では、「onComplete」関数の名前が「afterShow」に変更されました。変更コードに応じて、あなたはアップグレードした場合:)

は、イメージソースを設定し、fancyboxの「onCompleteの」-callback上Jcropを実行してみてください、それだけで正常に動作する必要があります:

<script type="text/javascript"> 
$(document).ready(function() { 
    var imagetoload = '/path/to/yourimage.jpg' /* Set to your image here */ 
    $('.fancyboxitem').fancybox(
    { 
    'content':'<div><img id="jcropImage" /></div>', 
    'onComplete':function() 
     { 
     $('#jcropImage') 
      .attr('src', imagetoload) 
      .Jcrop(
      { 
      /* Jcrop settings here */ 
      }, 
      function() { $.fancybox.resize(); /*Jcrop onload callback */ }); 
     } 
    }); 
}); 
</script> 

<a href="#" class="fancyboxitem">Open fancybox</a> 

あなたはドンが」 Jcropオブジェクトとfancyboxの幅と高さを設定してください。Jcropオブジェクトをロードした後に$ .fancybox.resize()をコールバックとして実行する必要があります。イメージを動的にロードするので、fancyboxは幅と高さが0で開いています。

幸運を祈る!

+0

これはありがとうございます。 FancyboxとJCropを戦いから守る方法を見つけようと、昨日どのくらいの時間を費やしたのか分かりません。 +10。 – sehummel

+0

解決策を見つける前にどれくらいの時間がかかるのか覚えていませんが、しばらく時間がかかりました。助けになるのが楽しい! – Jan

+0

私はfancybox 3を使用していますが、サイズ変更の方法はありません:/ – NewbieProgrammer

1

少し適応バージョン:

$.fancybox({ 
    href : '/path-to-image.jpg', 
    afterShow : function(){ 
     $('.fancybox-inner').find('img').Jcrop({      

     }); 
    } 
}); 
関連する問題