我花了好几个小时调试这个问题。这是我正在做的:
- 我打开一个 Bootstrap 模式
- 在该模态中,我打开另一个模态(我使用 data-dismiss 属性确保先关闭现有模态)
- 如果第二个模态非常大并且需要滚动,那么这将失败。不是滚动模式,而是滚动背景。
用于从现有模态中打开新模态的代码:
<button type="button" class="btn btn-secondary" data-toggle="modal" data-dismiss="modal" data-target="#modal2">Open modal 2</button>
我发现当我将“模态淡入淡出”类应用于模态时会出现问题。如果我删除“淡入淡出”类,那么它一切正常!但我真的很想使用淡入淡出类。这应该是这样的吗?或者有解决方法吗?下面是一个完整的工作示例:
.modal-body {
height: 1000px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
<body>
<button data-toggle="modal" data-target="#modal1">Open modal</button>
<div class="modal fade" tabindex="-1" role="dialog" id="modal1">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal 1</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-toggle="modal" data-dismiss="modal" data-target="#modal2">Open modal 2</button>
</div>
</div>
</div>
</div>
<div class="modal fade" tabindex="-1" role="dialog" id="modal2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal 2</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-toggle="modal" data-dismiss="modal" data-target="#modal1">Open modal 1</button>
</div>
</div>
</div>
</div>
</body>
</html>
最佳答案
.modal-body {
height: 1000px
}
#modal2{
overflow-y:auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
<button data-toggle="modal" data-target="#modal1">Open modal</button>
<div class="modal fade" tabindex="-1" role="dialog" id="modal1">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal 1</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-toggle="modal" data-dismiss="modal" data-target="#modal2">Open modal 2</button>
</div>
</div>
</div>
</div>
<div class="modal fade" tabindex="-1" role="dialog" id="modal2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal 2</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-toggle="modal" data-dismiss="modal" data-target="#modal1">Open modal 1</button>
</div>
</div>
</div>
</div>
如果你在这里谈论解决方法,那么你可以做这样的事情
#modal2{
overflow-y:auto;
}
这是工作 JSFiddle
关于javascript - Bootstrap 模式 : only when using the fade class 中的滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55924628/