要滚动到 Bootstrap 模式中的某个元素,我可以检查该元素的偏移量。例如有 8 个 div,每个都有自己的 id(#row-1、#row-2 等)。如果我打开模式,然后将以下内容输入控制台,我会得到正确的偏移值。
$('#row-6').offset()['top'];
但是当我 console.log
使用 .modal('show')
打开模式后,将其放入代码本身中,我得到0
返回。
这种差异是如何发生的?我尝试了在这里可以找到的所有解决方案,但所有解决方案都给了我相同的0
.
如果我可以使用 JavaScript 以任何其他方式滚动到该元素,我的问题也将得到解决。
最佳答案
您必须等待模式显示:
// The modal is shown
$('#yourModal').on('shown.bs.modal', function() {
// Get the right offset
var offset = $("#yourelement").offset();
var offsetTop = offset.top;
var offsetLeft = offset.left;
});
关于javascript - Bootstrap 模态元素偏移量为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32683666/