5.7 用层实现长篇文章分页
【实例描述】
在很多读书或新闻网站中,为了提高可读性,通常会对长篇文章进行分页。本例将学习如何对长篇文章分页。
【实现代码】
<html>
<head>
<style type="text/css">
#frameContent{
width:500px; /*调整显示区的宽*/
height:200px; /*调整显示区的高*/
font-size:14px;
line-height:20px;
border:1px solid #000000;
overflow-pageINdex:hidden;
overflow-y:hidden;
word-break:break-all;
}
a{
font-size:12px;
color:#000000;
text-decoration:underline;
}
a:hover{
font-size:12px;
color:#CC0000;
text-decoration:underline;
}
</style>
</head>
<body>
<div id="frameContent">
在这里输入你的文章
</div>
<P>
<div id="pages" style="font-size:12px;"></div>
<script language="javascript">
var obj = document.getElementById("frameContent"); //获取内容层
var pages = document.getElementById("pages"); //获取翻页层
window.onload = function() //重写窗体加载的事件
{
var allpages = Math.ceil(parseInt(obj.scrollHeight)/parseInt(obj. offsetHeight));//获取页面数量
pages.innerHTML = "<b>共"+allpages+"页</b>"; //输出页面数量
for (var i=1;i<=allpages;i++){
pages.innerHTML += "<a href=\"javascript:showPage('"+i+"');\">第"+i+"页</a> ";
//循环输出第几页
}
}
function showPage(pageINdex)
{
obj.scrollTop=(pageINdex-1)*parseInt(obj.offsetHeight); //根据高度,输出指定的页
}
</script>
</body>
</html>
【运行效果】
长篇文章的分页效果如图5-7所示。

图5-7 长篇文章的分页效果
【难点剖析】
本例将所有文章放在一个div层中,然后使用CSS样式表固定这个div的高度为200px。如果文章的内容超过了200px,则div会出现滚动条,此时使用“scrollHeight”获得垂直滚动条的高度,用此值除以div层的高度,取整后就是总的页数。当用户查看某页时,便调用“showPage”方法,实现翻页效果。






