隐藏/重新打开后,Bootstrap模态更改大小

时间:2014-02-12 19:05:50

标签: javascript jquery html css twitter-bootstrap

我在使用Bootstrap Modal(Bootstrap 2.3.2)时遇到了一个非常令人沮丧的问题,我正在使用它进行文件上传窗口。可能需要注意的是,这是一个嵌套模式,但这是我遇到此自动重新调整大小问题的唯一实例。我有6个其他辅助模态,从主要产品编辑器模式打开,在打开/关闭后没有调整大小。

还值得注意的是,对于没有此调整大小问题的其他模态,它们没有被分配自定义宽度值。

这是两个图像,第一个是我第一次打开模态,第二个是它调用模态('隐藏')然后再用模态打开('show');

http://i.imgur.com/2cj2k2I.png(先打开)http://i.imgur.com/bDIa2mp.png(第二次打开)

这是创建代码:

$('#mediaModal').modal({
    show: false,
    keyboard: false,
    width: '60%',
    maxHeight: '600px', 
    backdrop: 'static'
});

您会在屏幕截图中注意到它位于较大的产品编辑器模式上。上传完成后,或点击取消按钮,(或点击上传按钮,没有要上传的文件),只需简单调用:

$('#mediaModal').modal('hide');

在主模式上,每次点击“上传媒体”按钮时,它只会调用$('#mediaModal').modal('show');

为了解决这个问题,我尝试在显示之前手动调整主modal css宽度,如下所示:

$('#mediaModal').modal().on('show', function() {
    $(this).find('.modal').css({
        width: '60%'
    });
});

这应该确保主模态窗口宽度保持在60%的原始定义。但是,它没有任何区别。模态第一次打开时,它占宽度的60%。随后的任何开口,它的尺寸都缩小了。它在第一次隐藏后不会继续收缩,但我也无法保持原始所需的宽度。

最后一点 - 它只是改变宽度,可能是因为这是一个百分比值。

感谢您的帮助!我真的不擅长CSS,所以我猜你的CSS巫师会知道什么事情几乎立即发生!如果我没有提供足够的信息,请留言,我将添加到这篇文章。

(注意:升级到BS 3不是一个选项,代码库需要数周才能清理)

0 个答案:

没有答案