offset()为Chrome中的同一元素返回不同的值

时间:2014-01-08 12:16:17

标签: jquery google-chrome

我正在构建的页面有两个选项卡(我是使用Bootstrap来创建选项卡)。第一个(活动/默认)选项卡很长,并显示垂直滚动条。第二个选项卡很短,垂直滚动在激活时消失。 第二个选项卡仅包含文本输入,在聚焦时,我会报告其位置:

 var topleft = $("#input");
 console.log(topleft);

奇怪的是,在相同的浏览器和相同的页面加载中,第一次和第二次我专注于输入我得到左边不同的数字:

  

对象{top:223,left:358.5}

     

对象{top:223,left:367}

左边的第一个数字就好像有一个垂直滚动条(虽然没有),但第二个是正确的。看起来Chrome无法立即理解滚动条的变化。

1 个答案:

答案 0 :(得分:0)

不同之处在于,您可以使用最后一个。

$(window).load(function () {
  var topleft = $("#input");
  console.log(topleft);
});

$(window).ready(function () {
  var topleft = $("#input");
  console.log(topleft);
});