Bootstrap 模式:切换时背景跳到顶部

IT技术 javascript jquery css twitter-bootstrap twitter-bootstrap-3
2021-03-13 19:20:25

我有一个问题,一个模态。我在页面上有一个按钮,可以切换模式。当模态出现时,页面跳转到顶部。

我已经尽我所能找到解决方案/等,但我真的迷路了。

编辑:

我也尝试过:$('#myModal').modal('show');但它具有完全相同的效果。

6个回答

当模态打开一个modal-open类被设置为<body>标签。这个类设置overflow: hidden;到身体。将此规则添加到您的样式表以覆盖 bootstrap.css 样式:

body.modal-open {
    overflow: visible;
}

现在滚动应该保持原位。

这为我修好了。只是添加我的问题的根源是'body { height: 100% }'。
2021-04-28 19:20:25
我不得不加入position: inherit这门课,但在那之后我的 工作就像一个魅力。
2021-05-02 19:20:25
@pstenstrm,我有疑问。您告诉要覆盖 .modal-open 类的 css。但是,如果有额外的关闭 div,并且在我的回答中,我没有覆盖我的分辨率中的任何类怎么办?删除 2 个额外的 div 后它工作正常。bs modal 添加 .modal-backdrop div 会因为额外的关闭标签而在需要关闭的地方感到困惑。
2021-05-07 19:20:25
对我不起作用,我在 iframe 中有模态,它正在滚动到顶部......有什么想法吗?
2021-05-08 19:20:25
不为我工作。我有一个香草模态,我打开它.modal('show'),它仍然滚动到页面的顶部。引导程序 v3.2.0
2021-05-16 19:20:25

如果您使用标签调用模态。尝试从 href 属性中删除“#”。并使用数据属性调用模态。

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>
我确实像你在那里发布的那样打开它。查看链接
2021-04-20 19:20:25
如果您不使用“<button>”而是使用<a>,就像在我的情况下一样,当您在对象上移动鼠标光标时,您会丢失图标“手指按钮”。为了克服这个问题,我这样做了: ... href = "# mai_modal_id" data-toggle = "modal" ... 我没有使用 data-target
2021-05-07 19:20:25
@pagurix - 您的评论最适合我的场景。
2021-05-10 19:20:25
我认为,@pagurix 应该把他的评论写成一个单独的答案。唯一有帮助的事情。竖起大拇指!
2021-05-17 19:20:25

如果您使用锚标记作为<a href"#" ..> ... </a>并且href="#"正在产生问题,请将其删除。你可以在这里阅读更多

$('the thing you click on').click(function ($e) {
            $e.preventDefault();
});

这将帮助您停止滚动条在顶部。它对我有用

可能使用嵌套在代码中的模态:

body.modal-open {
    overflow: visible;
    position: absolute;
    width: 100%;
    height:100%;
}

对我来说,它是位置、高度和溢出的组合。