<html>
<head><title>page</title>
<style type="text/css">
#t
{
font-size:18px;
}
#t a
{
color:darkblue;
text-decoration:none;
}
#t a:hover
{
color:salmon;
text-decoration:underline;
}
.gpage
{
color:red;
}
</style>
<script type="text/javascript">
/*
author:igyhi
date:2006-08-30
*/
/*
总页数: int pageCount
当前页号: int pageNow
页号段半容量: int pageHalf
当前页样式接口: .gpage{}
*/
function viewpage(pageCount,pageNow,pageHalf)
{
var page_arr;
var page_arr_view;
function publicrun()
{
page_arr=new Array();
for(i=0;i<pageCount;i++)
{
page_arr[i]=i+1;
}
page_arr_view=page_arr.slice();
for(i=0;i<pageCount;i++)
{
page_arr_view[i]="<a href='javascript:view("+pageCount+","+page_arr_view[i]+","+pageHalf+")'>"+page_arr_view[i]+"</a>";
}
page_arr_view[pageNow-1]="<a href='javascript:view("+pageCount+","+page_arr[pageNow-1]+","+pageHalf+")'><tt class='gpage'>"+page_arr[pageNow-1]+"</tt></a>";  //此行被更新
}
if(pageHalf*2+3>=pageCount)
{
publicrun();
var ps="";
for(i=0;i<pageCount;i++)
{
ps+=page_arr_view[i];
}
return ps;
}
if(pageNow-pageHalf<=2)
{
publicrun();
var ps="";
for(i=0;i<pageNow+pageHalf;i++)
{
ps+=page_arr_view[i];
}
ps+="...<a href='javascript:view("+pageCount+","+(pageCount-1)+","+pageHalf+")'>"+(pageCount-1)+"</a><a href='javascript:view("+pageCount+","+(pageCount)+","+pageHalf+")'>"+(pageCount)+"</a>";
return ps;
}
if(pageNow-pageHalf>2 && pageNow+pageHalf+1<pageCount)
{
publicrun();
var ps="<a href='javascript:view("+pageCount+","+1+","+pageHalf+")'>1</a><a href='javascript:view("+pageCount+","+2+","+pageHalf+")'>2</a>...";
for(i=pageNow-pageHalf;i<(pageNow-pageHalf)+(pageHalf*2+1);i++)
{
ps+=page_arr_view[i-1];
}
ps+="...<a href='javascript:view("+pageCount+","+(pageCount-1)+","+pageHalf+")'>"+(pageCount-1)+"</a><a href='javascript:view("+pageCount+","+(pageCount)+","+pageHalf+")'>"+(pageCount)+"</a>";
return ps;
}
if(pageNow+pageHalf+1>=pageCount)
{
publicrun();
var ps="<a href='javascript:view("+pageCount+","+(1)+","+pageHalf+")'>"+(1)+"</a><a href='javascript:view("+pageCount+","+(2)+","+pageHalf+")'>"+(2)+"</a>...";
for(i=pageNow-pageHalf;i<pageCount+1;i++)
{
ps+=page_arr_view[i-1];
}
return ps;
}
}
function view(pageCount,pageNow,pageHalf)
{
var e=document.getElementById("viewpage");
e.innerHTML=viewpage(pageCount,pageNow,pageHalf);
}
</script>
</head>
<body>
<div id="body">
<input type="button" value="run" onclick="view(20,1,2)" /><br>
<tt id="t"><div id="viewpage"></div></tt>
<hr>
</div>
</body>
</html>
======================================
解决了当前页显示红色的问题.
剩下的是谁能在外层解决页号间距问题??
如:
<div id="d">string {1 2 3 4 5...6 7 8...9 10}</div>
是对层d控制