如何动态检测div高度

时间:2013-12-13 21:23:18

标签: jquery html css

在我以前的帖子中。 我有类似

的东西

How to scroll a div in my case?

RustyToms解决方案有效,但我有另一个问题。好像当我点击test 16链接时。由于items div没有足够的高度,items div似乎无法跳到顶部。我正在尝试动态添加更多高度,以便test 16可以跳到顶部。所以基本上我需要检测items div是否有足够的高度滚动到顶部不仅测试16而且我的原始代码中的其他项目..我不知道如何启动过程..任何人都可以帮助我呢?感谢。

我的不好,这是我的更新jsfiddle。

http://jsfiddle.net/BPB7z/9/

3 个答案:

答案 0 :(得分:1)

您可以使用jQuery的最后一个子选择器来检查点击的DIV是否是列表中的最后一个DIV。

使用以下animate方法实现:

$('#items').animate({
      scrollTop: $('#'+id+'-test').offset().top + $('#items').scrollTop()
           }, 700);  
    if($("#" + id + "-test").is(":last-child")){
        $("#" + id + "-test").css({height: "1000"});
    }
})

当点击相关联的锚点时,上面的内容会将“link16-test”的高度更改为1000px。

Updated fiddle

答案 1 :(得分:0)

抓住当前div高度:

var height = $("#div").height();

抓住当前窗口高度:

var windowHeight = window.innerHeight;

答案 2 :(得分:-1)

您可以使用.height()方法获取(并设置)高度。但是你的问题是你在最后一个'link'div之后没有任何东西,它比#items短,所以它永远不会到达顶部。在这里,它更容易看到而不是解释:

Working example

我添加了一个填充剩余空间的附加元素。

$('#extraSpace').height($('#items').height() - $('#items div:last').height());