首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

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>&nbsp;";

//循环输出第几页

    }

}

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”方法,实现翻页效果。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论