动态调整JQuery厚箱窗口的大小

时间:2010-11-30 23:10:22

标签: javascript jquery thickbox

点击链接后会弹出一个厚箱。根据用户的浏览器大小,我希望thickbox的宽度为500px左右,高度根据用户浏览器的高度动态变化。这可能吗?

4 个答案:

答案 0 :(得分:3)

另一种选择是使用JQuery来计算浏览器大小,然后调整thickbox的大小以适应。 这不像CSS解决方案那么优雅,只是为了完成答案......这是一个方法来完成它。

// set the displayWidth/Height to be 90% of the window
var displayWidth = $(window).width() * 0.9;
var displayHeight = $(window).height() * 0.9;
// Animate the thickbox window to the new size (with 50px padding 
$("#TB_window").animate({
    marginLeft: 0 - (displayWidth + 50) / 2,
    marginTop: 0 - (displayHeight + 50) / 2,
    height: displayHeight + 50,
    width: displayWidth + 30
}, {
    duration: 800
});
$("#TB_ajaxContent").animate({
    height: displayHeight,
    width: displayWidth
}, {
    duration: 800
});

答案 1 :(得分:2)

就我而言:(仅限CSS)

#TB_window {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    max-width: 90%;
    margin: 0 !important;
}
#TB_ajaxContent {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    box-sizing: border-box;
}

答案 2 :(得分:0)

您可以调整css以动态更改高度。这样的事情应该有效:

#TB_window {
    top:0;
    height:100%;
    margin-top:0 !important;
    border-top:0;
    border-bottom:0;
}

答案 3 :(得分:0)

仅使用CSS测试答案:

@media all and (max-width: 640px){
    #TB_window {
        top: 0 !important;
        left: 0 !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
        height: 100%;
        width: 100% !important;
    }
    #TB_iframeContent{
        max-width:100%;
        width:100%;
    }
}