javascript - Bootstrap 模态元素偏移量为零

标签 javascript jquery twitter-bootstrap bootstrap-modal

要滚动到 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/

相关文章:

javascript - 如何在 D3.js v4 中实现不同方向的多棵树?

javascript - 如何将文字数组转换为 json

javascript - jQuery 下拉菜单一遍又一遍

html - 删除 Bootstrap 选择上的焦点边框轮廓

html - Bootstrap 下拉菜单(在导航中)没有 JavaScript

Javascript 验证表单不会阻止提交

javascript - 如何在 Gatsby 中使用带有富文本的内联图像?

javascript - 如何在有序列表中定位数组的特定部分

javascript - 如何共享作为对象属性的函数并避免重复代码

html - Bootstrap 导航栏上的图像突出显示在菜单栏上方和下方