javascript – 当页面未满时,将页脚推至底部

前端之家收集整理的这篇文章主要介绍了javascript – 当页面未满时,将页脚推至底部前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发移动网络应用程序.这是从上到下的主要结构:标题div,菜单div,内容div,页脚div.标题,菜单和页脚是常量,页面使用ajax加载到内容div中.

一些页面有很多内容,他们填写页面,因此需要滚动.一些页面只有一行或两行内容,所以他们留下一大空的部分(不一定是不同的页面 – 一页,例如显示一个订单列表,你可以没有订单,你可以有数百…).

这是我想要实现的:如果页面没有包含内容,页脚将在页面底部.如果页面已满,需要滚动,页脚将立即在内容之后(所以您向下滚动页面,最后到达页脚).

粘贴的页脚解决方案对我来说不是很好,因为我不希望页脚始终坚持下来,只有当页面不够内容时.

有没有办法实现呢?谢谢.

解决方法

然后你必须使用 javascript – 计算内容的高度 – 从窗口高度减去它,并从该距离设置页脚的页边距:

> jsfiddle
> jsfiddle show

HTML

<div id="header" class="header">Header</div>
<div id="content" class="content">Content</div>
<div id="footer" class="footer">Footer</div>

JS(这个例子使用jQuery,它应该包含在这个脚本之前)

$('#footer').css('margin-top',$(document).height() 
  - ( $('#header').height() + $('#content').height() ) 
  - $('#footer').height()
);

您可以在窗口的任何调整大小上放置一个调用函数的onresize窗口.

[编辑blag:]

这是onResize方法(但是具有最小高度而不是margin-top)

Check the JSFiddle

// function to set the height on fly
 function autoHeight() {
   $('#content').css('min-height',0);
   $('#content').css('min-height',(
     $(document).height() 
     - $('#header').height() 
     - $('#footer').height()
   ));
 }

 // onDocumentReady function bind
 $(document).ready(function() {
   autoHeight();
 });

 // onResize bind of the function
 $(window).resize(function() {
   autoHeight();
 });

边框,边框和边距

如果要在计算中包含边框和填充,可以使用outerHeight()而不是height().或者,outerHeight(true)也包括边距.

原文链接:https://www.f2er.com/js/151136.html

猜你在找的JavaScript相关文章