在垂直调整页面大小时,我无法将.content
div的滚动固定在底部,即,当用户调整屏幕大小时页脚向上移动时,单词“window”应该是绝对的离开能见度的最后一件事。页脚应将“Just Some Text”字样推入可滚动内容,而“Window”应保持可见并位于footer
div之上。然而,现在恰恰相反:当页面调整大小时,footer
向上移动,覆盖单词“window”,然后是“the”,然后是“of”等,留下“Just Some Text”可见。就像我之前说的那样,它可以说是“相反的”。
所以我的问题是:在页面大小调整期间如何连续滚动到底部?
这是一个小提琴: http://jsfiddle.net/N672c/2/
为了这个问题,我在这里有一个基本的html结构:
<header></header>
<div id="content_id" class="content">
<div class="container">
Just<br>
Some<br>
Text.<br>
Try<br>
resizing<br>
the<br>
height<br>
of<br>
the<br>
window
</div>
</div>
<footer></footer>
也有一些CSS:
header, footer {
position: fixed;
left: 0; right: 0;
height: 100px;
background: teal;
}
header { top: 0 }
footer { bottom: 0 }
.content {
position: fixed;
top: 100px; bottom: 100px;
left: 0; right: 0;
overflow-y: scroll;
}
.container {
padding: 20px;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
还有少量的javascript:
var $content = $('.content'),
$container = $('.container'),
containerHeight = $container.outerHeight();
$(window).resize(function () {
$container.css({
position: $content.innerHeight() > containerHeight ? 'absolute' : 'static'
});
}).resize();
答案 0 :(得分:4)
您可以使用scrollTop方法将滚动条设置为所需位置,该方法采用一个参数,即偏移值。
在这里,您可以向“内容”块添加scrollTop方法,其中包含容器块高度的偏移量,即您希望将其保持为常量的高度。
请将此添加到调整大小功能中。
$content.scrollTop($container.height());
这会让你在调整大小时滚动到最后。
这是一个快速检查http://jsfiddle.net/4LQnW/6/
答案 1 :(得分:2)
在resize方法中,只需添加:
$content.scrollTop($content.height());
这将使$content
不断滚动到底部:http://jsfiddle.net/N672c/4/