1

插图

应该隐藏整个元素。外部 div 上不应该有滚动条。这可以仅通过 CSS 实现还是需要 jQuery?如何实施?

4

3 回答 3

3

总体思路如下:

$("div div").filter(function() {
    var $this = $(this),
        pTop = $this.parent().offset().top,    // parent position
                                               // (no need if parent has
                                               //  "position: relative")

        pHeight = $this.parent().height(),     // parent inner height

        eTop = $this.offset().top,             // block position
                                               // (can be replaced with
                                               //  "$this.position().top"
                                               //  if parent has
                                               //  "position: relative")

        eHeight = $this.outerHeight(true);     // block outer height

    return (eTop + eHeight) > (pTop + pHeight);
}).hide();

(理论上这应该有效。)


另一种方法:

var sumHeight = 0;
$("div div").filter(function() {
    var $this = $(this),
        pHeight = $this.parent().height();      // parent inner height

    sumHeight += $this.outerHeight(true);       // + block outer height

    return sumHeight > pHeight;
}).hide();
于 2012-11-19T16:16:21.017 回答
3

这根本没有经过测试,很可能需要进行调整,但是为了让您大致了解如何使用 jQuery 来做到这一点:

var container = $('#container');
var element = $('#element');

if ((element.position().top + element.position.height()) > container.height()) {
    element.hide();
}
于 2012-11-19T16:16:51.233 回答
1

overflow:hidden;属性添加到外部 div。

于 2012-11-19T16:09:59.233 回答