http://www.ziqiangxuetang.com/bootstrap/bootstrap-modal-plugin.html
方法
下面是一些可与 modal() 一起使用的有用的方法。
方法 | 描述 | 实例 | ||
---|---|---|---|---|
Options: .modal(options) | 把内容作为模态框激活。接受一个可选的选项对象。 |
|
||
Toggle: .modal('toggle') | 手动切换模态框。 |
|
||
Show: .modal('show') | 手动打开模态框。 |
|
||
Hide: .modal('hide') | 手动隐藏模态框。 |
|
bootstrap3打开modal后下层网页内容出现右移
1,注意看BS3的modal,有这么一个样式,当打开的时候,会给body
加上modal-open
,于是y滚动条没了,页面宽度变大,自然元素就右移了,我图省事,直接重写了这个属性为intial
解决了
.modal-open {
overflow: hidden;
}
.modal-open{
overflow: inherit ;
}
且在调用
$("#myModal").modal();
后追加
$("body").css('padding-right','0px');
3,因为modal会给body
添加的modal-open
类,使得overflow
属性默认为hidden
,导致滚动条消失了。(溢出部分直接hidden了)
解决方法:
覆盖原有属性:
.modal-open {
overflow: initial !important;
}
或 在body
上挂上新的类,如下设置:
.fix-modal-open {
overflow: initial;
}
4,在一个modal框里点击关闭,打开另一个modal框,设置了上面的也不管用,paddingright又不对了。于是查看bootstrap.js,发现了个地方,修改为0就行了
function init_website(){
$('#g-top-log').click(function(){
$('#g-top-logModal').modal();
});
$('#g-top-reg').click(function(){
$('#g-top-regModal').modal();
});
$('#btnToReg').click(function(){
$('#g-top-logModal').modal('hide');
$('#g-top-regModal').modal();
});
}
下面的函数修改为0,就行了
Modal.prototype.setScrollbar = function () {
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
this.originalBodyPad = document.body.style.paddingRight || ''
//if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
if (this.bodyIsOverflowing) this.$body.css('padding-right', 0)
}