0

我在这里有一个 jsfiddle - http://jsfiddle.net/stevea/z3YvT/ - 带有一个绝对定位的橙色框:

div#box2 {
    width:150px;
    height: 150px;
    background-color:orange;
    border:1px solid black;
    position:absolute;
    top:-50px;
    right:400px;
}

目前该框在页面顶部上方偏移 50px,因此我们只能看到 150px 框的底部 100px。我希望页面加载,以便它自动滚动以显示所有框。这可能吗?

谢谢

4

1 回答 1

2

你考虑过animate吗?

小提琴


您不能真正滚动页面,但可以滚动页面中的对象;或者您可能想滚动body

$('body').css('position','relative').animate({top:'50px'})

小提琴


使用您的新标准,您可能希望扫描所有元素的偏移量并进行相应调整:

var min = { top: 0, $el: {} };

// Scan all Elements
$('body *').each(function () {
    var $this = $(this),
        _top = $this.offset().top;

    if (_top < min.top) {
        min.top = _top;
        min.$el = $this;
    }
});

// Adjust Accordingly
$('body').css('position', 'relative').animate({
    top: (min.top * -1) + 'px'
})

小提琴

于 2013-09-04T05:17:45.657 回答