不能在colorbox中使用jqZoom

时间:2015-03-21 05:16:36

标签: jquery jqzoom

我想将jqzoom启用到ajax colorbox弹出窗口,但它无法正常打开。
我的代码:

/*colorbox*/
$('.colorbox1').colorbox({
overlayClose: true,
opacity: 0.5,
rel: "colorbox"
});

/*jqzoom*/
$('.jqzoom').jqzoom({
    zoomType: 'standard',
    lens:true,
    preloadImages: false,
    alwaysOn:false,
    zoomWidth: 250,
    zoomHeight: 250
});

1 个答案:

答案 0 :(得分:0)

我找到了答案。

无法工作的原因: jqZoom在图片加载到Colorbox弹出窗口之前渲染,因此jqZoom无法计算图像的精确尺寸(宽度X高度)。

我得到了两个解决方案以下的解决方案 解决方案1:jqZoom弹出窗口中超时后渲染/调用Colorbox

setTimeout(function(){
    $('.jqzoom').jqzoom({
        zoomType: 'standard',
        lens:true,
        preloadImages: false,
        alwaysOn:false,
        zoomWidth: 250,
        zoomHeight: 250
    });
}, 1000);

解决方案2 jqZoom成功渲染后致电Colorbox

$('.colorbox1').colorbox({
    overlayClose: true,
    opacity: 0.5,
    rel: "colorbox",
    onComplete: function(){
        $('.jqzoom').jqzoom({
            zoomType: 'standard',
            lens:true,
            preloadImages: false,
            alwaysOn:false,
            zoomWidth: 250,
            zoomHeight: 250
        });
    }
});