位置在Firefox中运行良好,而不在其他人工作

时间:2015-04-11 19:40:37

标签: javascript jquery css google-chrome firefox

我的标题中有一个下拉菜单,我想要点击标题中的按钮时,下拉菜单会显示该按钮。

按钮位置是绝对的,我使用jquery位置来获取该按钮的左下角。但这只是在firefox中工作。为什么呢?

这是我的代码:

var search_div_top=($("#search-div").position().top);
var search_div_left=($("#search-div").position().left);

这是我的css:

#search-div{
  width:200px;
  height:60px;
   /*center:*/
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
}

只是firefox返回该元素左右的实数,其他返回0. #search-div的父级是relative

1 个答案:

答案 0 :(得分:0)

有什么问题?

Chrome和其他浏览器(不是Firefox)的问题是:

  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;

使用上面的CSS,div将显示在其父级的中心,如果您在上面的代码中看到我们有left:0right:0,则Chrome会看到此代码并获取其中一个并从左侧开始或者右边有0值。

所以,解决方案是什么:

在jquery中有一个获取元素位置的函数,只需使用以下代码:

var search_div_top=($("#search-div").offset().top);
var search_div_left=($("#search-div").offset().left);