Обновление: В Fancybox 2 функция "onComplete" была переименована в "afterShow". Измените код соответствующим образом, если вы обновились:)
Попробуйте установить источник изображения и запустить Jcrop по обратному вызову "oncomplete" fancybox, и все должно работать нормально:
<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, вам нужно запустить $ .fancybox.resize () в качестве обратного вызова после загрузки объекта Jcrop. Поскольку вы загружаете изображения динамически, fancybox откроется с шириной и высотой 0 в противном случае.
Удачи!