用javascript做js页码 可以用htm传参数,像asp一样test.htm?page=1再用脚本分离 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上用JS控制,做法类似动态语言的只不过改成JS写 <html><head><title></title></head><style type="text/css">a:link,a:visited,a:hover,.current,#info{ border:1px solid #DDD; background:#F2F2F2; display:inline-block; margin:1px; text-decoration:none; font-size:12px; height:15px; text-align:center; line-height:15px; color:#AAA; padding:1px 2px;}a:hover{ border:1px solid #E5E5E5; background:#F9F9F9;}.current{ border:1px solid #83E7E4; background:#DFF9F8; margin:1px; color:#27CBC7;}#info{ width:auto;}</style><body>这是第1页<div id="setpage"></div><script type="text/javascript"><!--var totalpage,pagesize,cpage,count,curcount,outstr;var prefixion,suffixation;//初始化cpage = Page(); //初始页totalpage = 29; //总页数,你这个如何确定??pagesize = 8;prefixion="shooting"; //文件名前缀suffixation=".htm"; //文件名后缀outstr = "";function Page(){//取得当前页面 var page,$p; $p=location.href; $p=$p.substr($p.lastIndexOf("/")+1,$p.length-$p.lastIndexOf("/")); page=parseInt($p.replace(/\D/g,''))==0?1:parseInt($p.replace(/\D/g,'')); return page;}document.title="第"+Page()+"页";function gotopage(target){ cpage = target; //把页面计数定位到第几页 location.href=prefixion+target+suffixation;}function setpage(){ if(totalpage<=pagesize){ //总页数小于pagesize 页 for (count=1;count<=totalpage;count++) { if(count!=cpage) { outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>"; }else{ outstr = outstr + "<span class='current' >"+count+"</span>"; } } } if(totalpage>pagesize){ //总页数大于pagesize 页 if(parseInt((cpage-1)/pagesize) == 0) { for (count=1;count<=pagesize;count++) { if(count!=cpage) { outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>"; }else{ outstr = outstr + "<span class='current'>"+count+"</span>"; } } outstr = outstr + "<a href='javascript:gotopage("+count+");'> 后"+pagesize+"页 </a>"; } else if(parseInt((cpage-1)/pagesize) == parseInt(totalpage/pagesize)) { outstr = outstr + "<a href='javascript:gotopage("+(parseInt((cpage-1)/pagesize)*pagesize)+")'>前"+pagesize+"页</a>"; for (count=parseInt(totalpage/pagesize)*pagesize+1;count<=totalpage;count++) { if(count!=cpage) { outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>"; }else{ outstr = outstr + "<span class='current'>"+count+"</span>"; } } } else { outstr = outstr + "<a href='javascript:gotopage("+(parseInt((cpage-1)/pagesize)*pagesize)+")'> 前"+pagesize+"页 </a>"; for (count=parseInt((cpage-1)/pagesize)*pagesize+1;count<=parseInt((cpage-1)/pagesize)*pagesize+pagesize;count++) { if(count!=cpage) { outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>"; }else{ outstr = outstr + "<span class='current'>"+count+"</span>"; } } outstr = outstr + "<a href='javascript:gotopage("+count+");'> 后"+pagesize+"页 </a>"; } } document.getElementById("setpage").innerHTML = "<div id='setpage'><span id='info'>共"+totalpage+"页|第"+cpage+"页<\/span>" + outstr + "<\/div>"; outstr = "";}setpage(); //调用分页//--></script></body></html> JS做分页,网上有很多!!google一下! 谢谢cnchart,能不能请写简单一点,或者以什么方式变得简单一点。这样是不是要在每一页都要加入这样多的代码啊?对一起,我对语言真的很不清楚,只是知道一些非常简单的html及网页制作工具。也感谢chinmo的提醒。呵呵,本人太笨,怕搜索出来后仍看不懂。所以还是来这里求救:) 将代码保存为一个文件,如fc.js在你的页面中<script language="javascript" src="fc.js"></script>就可以了。注意SRC的路径。 要求还挺多的。2楼的说法正确。分离参数可以用location.search然后在用正则取对应的参数值 那这样子好了,既然后台内容不定期更新,只要你的后台更新完毕,同时生成一个JS文件,如fc_totalpage.js,内容就只有totalpage = xxxx; //总页数pagesize = xxxx;prefixion="xxxx"; //文件名前缀,取决于后台生成的静态文件suffixation="xxxx"; //文件名后缀,取决于后台生成的静态文件这个xxxx是后台生成的,你将这个文件也在静态页和9楼的办法一样的引用。将fc.js中的初始化的这些代码去掉。 页面内容更新也是手动更新的静态页,不是后台自动更新,也不清楚会不会生存js文件。总页数可以暂时放一放,因为我每次更新后,知道已有多少页,我可以手动把js里的总页数改一下,然后再把js上传,这样还不算烦麻。我按照你上面的方法,单独做,即做成fy.js和01.html两个文件,功能显示正常;但我把这个调到我的页面,把fy.js命名为shooting.js,放到shooting.html页后,提示出错:'document.getElementById("...")'为空或不是对象。页面中不显示分页码?请问问题出在哪里?我的页面是shooting.html,shooting02.html,shooting03.html…… 是因为你对象不对!!document.getElementById cnchart好。显示问题已经解决了,即在调用js前加上<div id="setpage"></div>。现在的问题是:把这些放上去后,本来页面应该显示的<title></title>内容,比如我的页面<title>abcd</title>,打开的ie窗口左上角显示的应该是abcd,但添加了这些js后,打开的ie窗口左上角显示的却是1,第二页显示的是2,第三页显示的是3……请问该如何使ie窗口左上角正常显示<title></title>里的内容? var hr=location.href+'#';var ph=new array();ph[0]=new array('dfadf.htm',1);ph[1]=new array('adfee.htm',2);ph[2]=new array('adfad.htm',3);ph[3]=new array('bfgfg.htm',4);ph[4]=new array('faeer.htm',5);//...这里可以不断添加中//上面括号内,第一个是文件名(可以任意不重复就行),后面的是页码//上面的文件名和页面你可以随意调整for (var i=0;i<=ph.length;i++){ document.write('<a href="'+ph[i][0]+'"></a>')}将以上代码保存为一个JS文件然要将原来放页面的地方改为:<script language="javascript" src="保存的文件.js"></script> var hr=location.href+'#'; 暂时没用到,这个是获取当前页的地址,以便可以使当前页的页码变红。我的程序里没写上。document.write(' <a href="'+ph[i][0]+'"> </a> ') 改为document.write(' <a href="'+ph[i][0]+'">'+ph[i][1]+'</a> ') 以上代码是我直接在这里写的,没有测试。应该没啥问题。 你看到代码里有个document.title=这句,你将它删掉或在它前面加//注释掉就行了这是为了演示给你加的,你删除掉,页面就会按正常的HTML里的<TITLE></TITLE>来显示标题 呵呵http://feb-.blog.163.com/blog/static/16577892007102710244463/http://feb-.blog.163.com/blog/static/1657789200710245413313/关键就在三个参数:第几页、多少行一页、总共做少行。各个语种的算法都差不多。 分享:用JQuery做的JS图片浏览器 dTree动态加载 用ajax怎么实现。 想要一种JS效果,点击后样式改变,离开后恢复 表格中js公式计算问题 如何在页面中重复创建一张图片? JS表单验证问题 怎样避免猎豹、搜狗浏览器进入IE兼容模式? 动态表格控件 请教高手,如何将javascript从数据库中查询到的内容写入 select list中 ASP.NET Ajax 客户端框架未能加载 请帮我解释一下下面的JS代码。 100分求救,JS弹出层,如何才能挡住ocx控件?
用JS控制,做法类似动态语言的
只不过改成JS写
<head>
<title></title>
</head>
<style type="text/css">
a:link,a:visited,a:hover,.current,#info{
border:1px solid #DDD;
background:#F2F2F2;
display:inline-block;
margin:1px;
text-decoration:none;
font-size:12px;
height:15px;
text-align:center;
line-height:15px;
color:#AAA;
padding:1px 2px;
}
a:hover{
border:1px solid #E5E5E5;
background:#F9F9F9;
}
.current{
border:1px solid #83E7E4;
background:#DFF9F8;
margin:1px;
color:#27CBC7;
}
#info{
width:auto;
}
</style>
<body>
这是第1页
<div id="setpage"></div>
<script type="text/javascript">
<!--
var totalpage,pagesize,cpage,count,curcount,outstr;
var prefixion,suffixation;
//初始化
cpage = Page(); //初始页
totalpage = 29; //总页数,你这个如何确定??
pagesize = 8;
prefixion="shooting"; //文件名前缀
suffixation=".htm"; //文件名后缀
outstr = "";function Page(){
//取得当前页面
var page,$p;
$p=location.href;
$p=$p.substr($p.lastIndexOf("/")+1,$p.length-$p.lastIndexOf("/"));
page=parseInt($p.replace(/\D/g,''))==0?1:parseInt($p.replace(/\D/g,''));
return page;
}
document.title="第"+Page()+"页";
function gotopage(target)
{
cpage = target; //把页面计数定位到第几页
location.href=prefixion+target+suffixation;
}function setpage()
{
if(totalpage<=pagesize){ //总页数小于pagesize 页
for (count=1;count<=totalpage;count++)
{ if(count!=cpage)
{
outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>";
}else{
outstr = outstr + "<span class='current' >"+count+"</span>";
}
}
} if(totalpage>pagesize){ //总页数大于pagesize 页
if(parseInt((cpage-1)/pagesize) == 0)
{
for (count=1;count<=pagesize;count++)
{ if(count!=cpage)
{
outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>";
}else{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
outstr = outstr + "<a href='javascript:gotopage("+count+");'> 后"+pagesize+"页 </a>";
}
else if(parseInt((cpage-1)/pagesize) == parseInt(totalpage/pagesize))
{
outstr = outstr + "<a href='javascript:gotopage("+(parseInt((cpage-1)/pagesize)*pagesize)+")'>前"+pagesize+"页</a>";
for (count=parseInt(totalpage/pagesize)*pagesize+1;count<=totalpage;count++)
{ if(count!=cpage)
{
outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>";
}else{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
}
else
{
outstr = outstr + "<a href='javascript:gotopage("+(parseInt((cpage-1)/pagesize)*pagesize)+")'> 前"+pagesize+"页 </a>";
for (count=parseInt((cpage-1)/pagesize)*pagesize+1;count<=parseInt((cpage-1)/pagesize)*pagesize+pagesize;count++)
{
if(count!=cpage)
{
outstr = outstr + "<a href='javascript:gotopage("+count+");'>"+count+"</a>";
}else{
outstr = outstr + "<span class='current'>"+count+"</span>";
}
}
outstr = outstr + "<a href='javascript:gotopage("+count+");'> 后"+pagesize+"页 </a>";
} }
document.getElementById("setpage").innerHTML = "<div id='setpage'><span id='info'>共"+totalpage+"页|第"+cpage+"页<\/span>" + outstr + "<\/div>";
outstr = "";
}
setpage(); //调用分页//-->
</script>
</body>
</html>
谢谢cnchart,能不能请写简单一点,或者以什么方式变得简单一点。这样是不是要在每一页都要加入这样多的代码啊?对一起,我对语言真的很不清楚,只是知道一些非常简单的html及网页制作工具。也感谢chinmo的提醒。呵呵,本人太笨,怕搜索出来后仍看不懂。所以还是来这里求救:)
pagesize = xxxx;
prefixion="xxxx"; //文件名前缀,取决于后台生成的静态文件
suffixation="xxxx"; //文件名后缀,取决于后台生成的静态文件
这个xxxx是后台生成的,你将这个文件也在静态页和9楼的办法一样的引用。将fc.js中的初始化的这些代码去掉。
但我把这个调到我的页面,把fy.js命名为shooting.js,放到shooting.html页后,提示出错:'document.getElementById("...")'为空或不是对象。
页面中不显示分页码?请问问题出在哪里?我的页面是shooting.html,shooting02.html,shooting03.html……
document.getElementById
显示问题已经解决了,即在调用js前加上<div id="setpage"></div>。
现在的问题是:
把这些放上去后,本来页面应该显示的<title></title>内容,比如我的页面<title>abcd</title>,打开的ie窗口左上角显示的应该是abcd,但添加了这些js后,打开的ie窗口左上角显示的却是1,第二页显示的是2,第三页显示的是3……
请问该如何使ie窗口左上角正常显示<title></title>里的内容?
var ph=new array();
ph[0]=new array('dfadf.htm',1);
ph[1]=new array('adfee.htm',2);
ph[2]=new array('adfad.htm',3);
ph[3]=new array('bfgfg.htm',4);
ph[4]=new array('faeer.htm',5);
//...这里可以不断添加中
//上面括号内,第一个是文件名(可以任意不重复就行),后面的是页码
//上面的文件名和页面你可以随意调整
for (var i=0;i<=ph.length;i++)
{
document.write('<a href="'+ph[i][0]+'"></a>')
}将以上代码保存为一个JS文件
然要将原来放页面的地方改为:<script language="javascript" src="保存的文件.js"></script>
暂时没用到,这个是获取当前页的地址,以便可以使当前页的页码变红。我的程序里没写上。document.write(' <a href="'+ph[i][0]+'"> </a> ')
改为
document.write(' <a href="'+ph[i][0]+'">'+ph[i][1]+'</a> ') 以上代码是我直接在这里写的,没有测试。应该没啥问题。
http://feb-.blog.163.com/blog/static/1657789200710245413313/
关键就在三个参数:第几页、多少行一页、总共做少行。各个语种的算法都差不多。