元素高度()不加+ 200?

时间:2015-12-05 15:39:00

标签: javascript jquery

我想滚动到容器的末尾。该元素在点击时通过ajax添加了新项目,因此每次单击加载更多时我都会重新计算其高度。页面滚动正常,但我还想添加导航高度,以获得精确的像素。看起来它没有添加+ 224 tho

HTML     LOREM                               

通过点击和ajax添加新项目。

的CSS

   nav {
     height: 90px;
   }
   #container {
      margin-top: 104px;
      margin-bottom: 120px;
   }

Jquery的

var page = $("html, body");
var pos = $("#container").height() + 224;
page.animate({scrollTop: pos}, 1000);

2 个答案:

答案 0 :(得分:0)

我觉得你想要这样的东西吗?

var page = $("html, body");
console.log($("#t").height());
var pos = $("#t").height() - 500;
console.log(pos);
page.animate({scrollTop: pos}, 1000);
div{
  height: 1000px;
  width: 50px;
  background-color: red;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="t"></div>

答案 1 :(得分:0)

您可以将scrollIntoView用于最后添加的项目

  var j=0;
  function Add(){
  var item=null;
    for(var i=0;i<20;i++){
	j++
      item= $('<div class="item">'+j+'</div>').appendTo("#container")
	
	}
	  item[0].scrollIntoView()
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <input type="button" onclick="Add()" Value="Add" />
 <div id="container"></div>