bootstrap:仅针对特定模态更改模态背景不透明度

Tim*_*mov 19 javascript css jquery jquery-plugins twitter-bootstrap

我有一个包含多个模态的菜单.当我打开另一个时,它会将背景变成黑色,这很难看.我知道我需要改变filter: alpha(opacity=80);.modal-backdrop.fade.in中bootstrap.css.但是我需要改变它不是针对所有模态,只针对其中一些模态.这是第一个模态的html代码

    <div class="modal hide" id="mbusModal">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h3>MBUS</h3>
        </div>
        <div class="modal-body">
            <form class="form-horizontal">
                <form class="well form-inline">
                    <input type="button" class="btn" onclick="$('#dinMbusModal').modal('show'); $('#tabsMbusDin a:last').tab('show');" value="din">
                </form>
            </div>
        <div class="modal-footer">
            <a href="#" class="btn" data-dismiss="modal">???????</a>
            <a href="#" class="btn btn-primary" onclick="addPort('mbus',$('#mbusDev').val(),$('#mbusSpeed').val()); $('#mbusModal').modal('hide')">?????????</a>
        </div>
Run Code Online (Sandbox Code Playgroud)

这种模式需要改变他的背景:

    <div class="modal hide" id="dinMbusModal" style="width: 500px; margin: -250px 0 0 -250px;">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h3>DIN</h3>
        </div>
        <div class="modal-body">
        </div>
        <div class="modal-footer">
            <a href="#" class="btn" data-dismiss="modal">???????</a>
            <a href="#" class="btn btn-primary" onclick="addPort('din_mbus',,); $('#dinMbusModal').modal('hide')">?????????</a>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

mer*_*erv 31

有点复杂的是,背景是由Modal插件动态生成的.一种可行的方法是在获得show事件时向body添加一个类,然后在隐藏的上删除它.

就像是:

CSS

.modal-color-red .modal-backdrop {
  background-color: #f00;
}
.modal-color-green .modal-backdrop {
  background-color: #0f0;
}
.modal-color-blue .modal-backdrop {
  background-color: #00f;
}
Run Code Online (Sandbox Code Playgroud)

JS

$('.modal[data-color]').on('show hidden', function () {
  $('body').toggleClass('modal-color-'+ $(this).data('color'));
});
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="modal hide fade" id="redModal" data-color="red">...</div>
<div class="modal hide fade" id="greenModal" data-color="green">...</div>
<div class="modal hide fade" id="blueModal" data-color="blue">...</div>
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

  • 请注意,事件现在是show.bs.modal和hidden.bs.modal,例如$('#myModal').on('show.bs.modal hidden.bs.modal')... (2认同)

rom*_*ros 6

只有CSS/HTML

JSFiddle:http: //jsfiddle.net/szoys6d7/

HTML

<div class="modal hide fade modal2">...</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.modal2.fade.in ~ .modal-backdrop.fade.in {
background-color: #f00; }
Run Code Online (Sandbox Code Playgroud)