2

在垂直调整页面大小时,我无法将.contentdiv 的滚动条固定在底部,即,当用户调整屏幕大小期间页脚向上移动时,“窗口”一词应该是绝对不可见的最后一件事。footer页脚应该将单词“Just Some Text”推送到可滚动内容中,而“Window”应该保持可见并位于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();
4

2 回答 2

4

您可以使用 scrollTop 方法将滚动条设置到所需位置,该方法采用一个参数,即偏移值。

在这里,您可以将 scrollTop 方法添加到您的“内容”块中,并带有容器块高度的偏移量,这是您希望保持其恒定的高度。

因此,将其添加到您的调整大小函数中。

$content.scrollTop($container.height());

这将使您在调整大小时一直滚动到最后。

这是一个快速检查http://jsfiddle.net/4LQnW/6/

于 2013-01-20T17:29:33.140 回答
2

在调整大小方法中只需添加:

$content.scrollTop($content.height());

这将不断$content滚动到底部:http: //jsfiddle.net/N672c/4/

于 2013-01-20T17:13:27.177 回答