Slimbox2适合窗口 - CSS,jQuery

时间:2013-09-18 01:37:32

标签: jquery css slimbox

我正在使用Slimbox2作为我的画廊,但缺少一个重要的功能 - 调整框架以适应屏幕。当图像太大时,它会超出屏幕。是否有人为此找到了解决方案?

Plugin official site

Api documentation

这对我来说非常重要,提前谢谢!

1 个答案:

答案 0 :(得分:1)

我有同样的问题,我这样做了:

我打开了slimbox2.js文件,我换了:

$(image).css({backgroundImage: "url(" + activeURL + ")", visibility: "hidden", display: ""});
$(sizer).width(preload.width);
$([sizer, prevLink, nextLink]).height(preload.height);

使用:

     /* make sure the image won't be bigger than the window */
window.innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; //ie fix
window.innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; //ie fix        
var winWidth =  window.innerWidth-200; //browser width
var winHeight = window.innerHeight-100; //browser height
var my_w = preload.width; //original width
var my_h = preload.height; //original height

    // scale  width
    var scaleW1 = winWidth;
    var scaleH1 = (my_h * winWidth) / my_w;

    // scale  height
    var scaleW2 = (my_w * winHeight) / my_h;
    var scaleH2 = winHeight;
    var scale = (scaleW2 > winWidth);

    if (scale) {
        reswidth = Math.floor(scaleW1);
        resheight = Math.floor(scaleH1);

    }
    else {
        reswidth = Math.floor(scaleW2);
        resheight = Math.floor(scaleH2);

    }
    if ($("p").hasClass("slimboxie")){ 
    $(image).css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader( src='"+ activeURL + "', sizingMethod='scale')", visibility: "hidden", display: ""});

    $(sizer).width(reswidth);
    $([sizer, prevLink, nextLink]).height(resheight); }
    else {

    $(image).css({backgroundImage: "url(" + activeURL + ")", backgroundSize: reswidth + "px " + resheight + "px", visibility: "hidden", display: ""});
    $(sizer).width(reswidth);
    $([sizer, prevLink, nextLink]).height(resheight); 

    }

我是一个业余人士,所以要善待:)如果你有关于修复它的问题,即问我:)