1.Web 里面有三个目录:
1.1 content.htm //这个文件直接运行就行
1.2 js //这里面有用到的几个js 文件,其中 以db 开头的就是数据源(就是json 串)
1.3 css //css 就不用说了
2. 直接运行 content.htm 就可以直接打开查看分页和搜索效果了
3. 原理很简单,只是用了javascript 的index 函数
核心代码:
复制代码 代码如下:
/*
author: liulf
function:
var __db_cpcj=vCpcj;
var __db_cp=vCp;
var vCp={"cppage":[
{"cpdh":"A01000101","page":"1","ca":"1309-36-0","mc":"硫铁矿","ename":"Pyrite","bm":"黄铁矿"},
{"cpdh":"A01000201","page":"1","ca":"1309-36-0","mc":"硫精砂","ename":"Pyrite concentrate;Sulfur concentrate","bm":""},
{"cpdh":"A01000202","page":"1","ca":"1309-36-0","mc":"硫精矿粉","ename":"Powdered pyrite concentrate;Pyrites concentrate,powder;Sulfur concentrate,powder","bm":"硫精矿"},
{"cpdh":"A02000101","page":"1","ca":"","mc":"磷矿石","ename":"Phosphorus ore","bm":""},
{"cpdh":"A02000111","page":"2","ca":"","mc":"磷矿砂","ename":"Phosphorite grit","bm":""},
{"cpdh":"A02000201","page":"2","ca":"","mc":"磷矿粉","ename":"Phosphate rock powder","bm":""},
{"cpdh":"A03000101","page":"2","ca":"12447-04-0","mc":"硼矿石","ename":"Ascharite;Boric ore","bm":"硼镁矿"},
{"cpdh":"A04000101","page":"2","ca":"","mc":"钾长石","ename":"Potash feldspar;Potassium feldspars","bm":""},
{"cpdh":"A04000201","page":"2","ca":"12003-63-3","mc":"长石粉","ename":"Feldspar powder","bm":""},
{"cpdh":"A04000301","page":"2","ca":"","mc":"光卤石","ename":"Carnallite","bm":""}
]}
var vCpcj={"cjpage":[{"cjdh":"110634","cm":"拜耳光翌板材有限责任公司","pagen":"1701"},
{"cjdh":"110052","cm":"北京艾瑞斯水墨有限公司","pagen":"1701"},
{"cjdh":"110408","cm":"北京艾斯克医药技术开发有限公司","pagen":"1701"},
{"cjdh":"110010","cm":"北京爱德泰普膜制品厂","pagen":"1701"},
{"cjdh":"110165","cm":"北京安实创业科技发展有限公司","pagen":"1701"},
{"cjdh":"110134","cm":"北京安顺达装饰材料有限公司","pagen":"1701"},
{"cjdh":"110291","cm":"北京奥博星生物技术责任有限公司","pagen":"1701"},
{"cjdh":"110191","cm":"北京奥得赛化学有限公司","pagen":"1701"},
{"cjdh":"110454","cm":"北京奥克兰防水工程有限责任公司","pagen":"1701"},
{"cjdh":"110520","cm":"北京奥森特种润滑材料厂","pagen":"1701"}]}
奥森特
*/
function ObjSearch()
{
this.kw = '';
this.option = '';
this.displayId = '';
this.search = function()
{
// if(this.kw=='' || this.kw==null || this.kw.length<3)
// {
// alert('输入长度不能为小于3!');
// return;
// }
// switch(this.option)
// {
// //企业
// case '0':
// this.searchCpcj();
// break;
// //产品
// case '1':
// this.searchCp();
// break;
// }
OutputHtml(this);
}
this.searchCpcj= function()
{
var jsonObj = new Array();
var kw = this.kw;
// $('#'+this.displayId).html('');
// var displayId = this.displayId;
$(vCpcj.cjpage).each(function(index,content){
// var cjdhy = content.cjdh;
// var cm = content.cm;
// var pagen = content.pagen;
if(content.cm.indexOf(kw)!=-1)
{
// $('#'+displayId).append("<a href='#'>"+cm+" | "+pagen+"</a><br/>");
jsonObj.push({"cm":content.cm,"pagen":content.pagen});
}
});
return jsonObj;
}
this.searchCp = function()
{
var jsonObj = new Array();
var kw = this.kw;
// $('#'+this.displayId).html('');
// var displayId = this.displayId;
$.each(vCp.cppage,function(index,content){
// var cpdh = content.cpdh;
// var page = content.page;
// var ca = content.ca;
// var mc = content.mc;
// var ename = content.ename;
// var bm = content.bm;
if(content.mc.indexOf(kw)!=-1)
{
// $('#'+displayId).append("<a href='#'>"+mc+" | "+page+"</a><br/>");
jsonObj.push({"mc":content.mc,"page":content.page});
}
});
return jsonObj;
}
}
<!--//
function __$$(id){return document.getElementById(id);} //定义获取ID的方法
function GotoPage(num){ //跳转页
Page = num;
OutputHtml(os);
}
var PageSize = 20; //每页个数
var Page = 1; //当前页码
function OutputHtml(){
//选择的企业还是产品
var vobj = arguments[0];
var vtmp1=vobj.option;
var siteList = '';
switch(vtmp1)
{
//企业
case '0':
siteList = os.searchCpcj();
var obj = eval(siteList); //获取JSON
//var sites = obj.cjpage;
var sites = obj;
break;
//产品
case '1':
siteList = os.searchCp();
var obj = eval(siteList); //获取JSON
// var sites = obj.cppage;
var sites = obj;
break;
}
//获取分页总数
var Pages = Math.floor((sites.length - 1) / PageSize) + 1;
if(Page < 1)Page = 1; //如果当前页码小于1
if(Page > Pages)Page = Pages; //如果当前页码大于总数
var Temp = "";
var BeginNO = (Page - 1) * PageSize + 1; //开始编号
var EndNO = Page * PageSize; //结束编号
if(EndNO > sites.length) EndNO = sites.length;
if(EndNO == 0) BeginNO = 0;
if(!(Page <= Pages)) Page = Pages;
__$$("total").innerHTML = "总页数:<strong class='f90'>" + sites.length + "</strong> 显示:<strong class='f90'>" + BeginNO + "-" + EndNO + "</strong>";
//分页
if(Page > 1 && Page !== 1){Temp ="<a href='javascript:void(0)' onclick='GotoPage(1)'><<第一页</a> <a href='javascript:void(0)' onclick='GotoPage(" + (Page - 1) + ")'>上一页</a> "}else{Temp = "<<第一页 上一页 "};
//完美的翻页列表
var PageFrontSum = 3; //当页前显示个数
var PageBackSum = 3; //当页后显示个数
var PageFront = PageFrontSum - (Page - 1);
var PageBack = PageBackSum - (Pages - Page);
if(PageFront > 0 && PageBack < 0)PageBackSum += PageFront; //前少后多,前剩余空位给后
if(PageBack > 0 && PageFront < 0)PageFrontSum += PageBack; //后少前多,后剩余空位给前
var PageFrontBegin = Page - PageFrontSum;
if(PageFrontBegin < 1)PageFrontBegin = 1;
var PageFrontEnd = Page + PageBackSum;
if(PageFrontEnd > Pages)PageFrontEnd = Pages;
if(PageFrontBegin != 1) Temp += '<a href="javascript:void(0)" onclick="GotoPage(' + (Page - 10) + ')" title="前10页">..</a>';
for(var i = PageFrontBegin;i < Page;i ++){
Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + i + ")'>" + i + "</a>";
}
Temp += " <strong class='f90'>" + Page + "</strong>";
for(var i = Page + 1;i <= PageFrontEnd;i ++){
Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + i + ")'>" + i + "</a>";
}
if(PageFrontEnd != Pages) Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + (Page + 10) + ")' title='后10页'>..</a>";
if(Page != Pages){Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + (Page + 1) + ");'>下一页</a> <a href='javascript:void(0)' onclick='GotoPage(" + Pages + ")'>最末页>></a>"}else{Temp += " 下一页 最末页>>"}
__$$("pagelist").innerHTML = Temp;
//输出数据
if(EndNO == 0){ //如果为空
__$$("pagelist").innerHTML='';
__$$("content").innerHTML = "<h1>没有数据</h1>";
return;
}
var html = "";
for(var i = BeginNO - 1;i < EndNO;i ++){
switch(vtmp1)
{
//企业
case "0":
html += "<a href='#' rel='bookmark' title=" +sites[i].cm+ ">";
html += "<p class='url'><span>" +sites[i].cm+ " | "+sites[i].pagen +"</span></p></a>";
break;
//产品
case "1":
// if(sites[i].mc.indexOf(vobj.kw)==-1) continue;
html += "<a href='#' rel='bookmark' title=" +sites[i].mc+ ">";
html += "<p class='url'><span>" +sites[i].mc+ " | "+sites[i].page +"</span></p></a>";
break;
}
}
__$$("content").innerHTML = html;
clickShow(); //调用鼠标点击事件
//键盘左右键翻页
document.onkeydown=function(e){
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if(code==37){
if(Page > 1 && Page !== 1){
GotoPage(Page - 1);
}
}
if(code==39){
if(Page != Pages){
GotoPage(Page + 1);
}
}
}
//鼠标滚轮翻页
function handle(delta){
if (delta > 0){
if(Page > 1 && Page !== 1){
GotoPage(Page - 1);
}
}
else{
if(Page != Pages){
GotoPage(Page + 1);
}
}
}
function wheel(event){
var delta = 0;
if (!event) /* For IE. */
event = window.event;
if (event.wheelDelta) { /* IE或者Opera. */
delta = event.wheelDelta / 120;
/** 在Opera9中,事件处理不同于IE
*/
if (window.opera)
delta = -delta;
} else if (event.detail) { /** 兼容Mozilla. */
/** In Mozilla, sign of delta is different than in IE.
* Also, delta is multiple of 3.
*/
delta = -event.detail / 3;
}
/** 如果 增量不等于0则触发
* 主要功能为测试滚轮向上滚或者是向下
*/
if (delta)
handle(delta);
}
/** 初始化 */
if (window.addEventListener)
/** Mozilla的基于DOM的滚轮事件 **/
window.addEventListener("DOMMouseScroll", wheel, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;
}
//获取链接地址和网站名称
function showLink(source){
var siteUrl = __$$("siteurl");
var siteName = __$$("sitename");
var description = __$$("description");
if(source.getAttribute("rel") == "bookmark"){
var url = source.getAttribute("href");
var title = source.getAttribute("title");
siteUrl.innerHTML = "<a href='" + url + "' target='_blank'>"+ url +"</a>";
siteName.innerHTML = title;
}
}
//鼠标点击事件
function clickShow(){
var links = __$$("content").getElementsByTagName("a");
for(var i=0; i<links.length; i++){
var url = links[i].getAttribute("href");
var title = links[i].getAttribute("title");
links[i].onclick = function(){
// showLink(this);
return false;
}
}
}
//-->
打包下载地址
1.1 content.htm //这个文件直接运行就行
1.2 js //这里面有用到的几个js 文件,其中 以db 开头的就是数据源(就是json 串)
1.3 css //css 就不用说了
2. 直接运行 content.htm 就可以直接打开查看分页和搜索效果了
3. 原理很简单,只是用了javascript 的index 函数
核心代码:
复制代码 代码如下:
/*
author: liulf
function:
var __db_cpcj=vCpcj;
var __db_cp=vCp;
var vCp={"cppage":[
{"cpdh":"A01000101","page":"1","ca":"1309-36-0","mc":"硫铁矿","ename":"Pyrite","bm":"黄铁矿"},
{"cpdh":"A01000201","page":"1","ca":"1309-36-0","mc":"硫精砂","ename":"Pyrite concentrate;Sulfur concentrate","bm":""},
{"cpdh":"A01000202","page":"1","ca":"1309-36-0","mc":"硫精矿粉","ename":"Powdered pyrite concentrate;Pyrites concentrate,powder;Sulfur concentrate,powder","bm":"硫精矿"},
{"cpdh":"A02000101","page":"1","ca":"","mc":"磷矿石","ename":"Phosphorus ore","bm":""},
{"cpdh":"A02000111","page":"2","ca":"","mc":"磷矿砂","ename":"Phosphorite grit","bm":""},
{"cpdh":"A02000201","page":"2","ca":"","mc":"磷矿粉","ename":"Phosphate rock powder","bm":""},
{"cpdh":"A03000101","page":"2","ca":"12447-04-0","mc":"硼矿石","ename":"Ascharite;Boric ore","bm":"硼镁矿"},
{"cpdh":"A04000101","page":"2","ca":"","mc":"钾长石","ename":"Potash feldspar;Potassium feldspars","bm":""},
{"cpdh":"A04000201","page":"2","ca":"12003-63-3","mc":"长石粉","ename":"Feldspar powder","bm":""},
{"cpdh":"A04000301","page":"2","ca":"","mc":"光卤石","ename":"Carnallite","bm":""}
]}
var vCpcj={"cjpage":[{"cjdh":"110634","cm":"拜耳光翌板材有限责任公司","pagen":"1701"},
{"cjdh":"110052","cm":"北京艾瑞斯水墨有限公司","pagen":"1701"},
{"cjdh":"110408","cm":"北京艾斯克医药技术开发有限公司","pagen":"1701"},
{"cjdh":"110010","cm":"北京爱德泰普膜制品厂","pagen":"1701"},
{"cjdh":"110165","cm":"北京安实创业科技发展有限公司","pagen":"1701"},
{"cjdh":"110134","cm":"北京安顺达装饰材料有限公司","pagen":"1701"},
{"cjdh":"110291","cm":"北京奥博星生物技术责任有限公司","pagen":"1701"},
{"cjdh":"110191","cm":"北京奥得赛化学有限公司","pagen":"1701"},
{"cjdh":"110454","cm":"北京奥克兰防水工程有限责任公司","pagen":"1701"},
{"cjdh":"110520","cm":"北京奥森特种润滑材料厂","pagen":"1701"}]}
奥森特
*/
function ObjSearch()
{
this.kw = '';
this.option = '';
this.displayId = '';
this.search = function()
{
// if(this.kw=='' || this.kw==null || this.kw.length<3)
// {
// alert('输入长度不能为小于3!');
// return;
// }
// switch(this.option)
// {
// //企业
// case '0':
// this.searchCpcj();
// break;
// //产品
// case '1':
// this.searchCp();
// break;
// }
OutputHtml(this);
}
this.searchCpcj= function()
{
var jsonObj = new Array();
var kw = this.kw;
// $('#'+this.displayId).html('');
// var displayId = this.displayId;
$(vCpcj.cjpage).each(function(index,content){
// var cjdhy = content.cjdh;
// var cm = content.cm;
// var pagen = content.pagen;
if(content.cm.indexOf(kw)!=-1)
{
// $('#'+displayId).append("<a href='#'>"+cm+" | "+pagen+"</a><br/>");
jsonObj.push({"cm":content.cm,"pagen":content.pagen});
}
});
return jsonObj;
}
this.searchCp = function()
{
var jsonObj = new Array();
var kw = this.kw;
// $('#'+this.displayId).html('');
// var displayId = this.displayId;
$.each(vCp.cppage,function(index,content){
// var cpdh = content.cpdh;
// var page = content.page;
// var ca = content.ca;
// var mc = content.mc;
// var ename = content.ename;
// var bm = content.bm;
if(content.mc.indexOf(kw)!=-1)
{
// $('#'+displayId).append("<a href='#'>"+mc+" | "+page+"</a><br/>");
jsonObj.push({"mc":content.mc,"page":content.page});
}
});
return jsonObj;
}
}
<!--//
function __$$(id){return document.getElementById(id);} //定义获取ID的方法
function GotoPage(num){ //跳转页
Page = num;
OutputHtml(os);
}
var PageSize = 20; //每页个数
var Page = 1; //当前页码
function OutputHtml(){
//选择的企业还是产品
var vobj = arguments[0];
var vtmp1=vobj.option;
var siteList = '';
switch(vtmp1)
{
//企业
case '0':
siteList = os.searchCpcj();
var obj = eval(siteList); //获取JSON
//var sites = obj.cjpage;
var sites = obj;
break;
//产品
case '1':
siteList = os.searchCp();
var obj = eval(siteList); //获取JSON
// var sites = obj.cppage;
var sites = obj;
break;
}
//获取分页总数
var Pages = Math.floor((sites.length - 1) / PageSize) + 1;
if(Page < 1)Page = 1; //如果当前页码小于1
if(Page > Pages)Page = Pages; //如果当前页码大于总数
var Temp = "";
var BeginNO = (Page - 1) * PageSize + 1; //开始编号
var EndNO = Page * PageSize; //结束编号
if(EndNO > sites.length) EndNO = sites.length;
if(EndNO == 0) BeginNO = 0;
if(!(Page <= Pages)) Page = Pages;
__$$("total").innerHTML = "总页数:<strong class='f90'>" + sites.length + "</strong> 显示:<strong class='f90'>" + BeginNO + "-" + EndNO + "</strong>";
//分页
if(Page > 1 && Page !== 1){Temp ="<a href='javascript:void(0)' onclick='GotoPage(1)'><<第一页</a> <a href='javascript:void(0)' onclick='GotoPage(" + (Page - 1) + ")'>上一页</a> "}else{Temp = "<<第一页 上一页 "};
//完美的翻页列表
var PageFrontSum = 3; //当页前显示个数
var PageBackSum = 3; //当页后显示个数
var PageFront = PageFrontSum - (Page - 1);
var PageBack = PageBackSum - (Pages - Page);
if(PageFront > 0 && PageBack < 0)PageBackSum += PageFront; //前少后多,前剩余空位给后
if(PageBack > 0 && PageFront < 0)PageFrontSum += PageBack; //后少前多,后剩余空位给前
var PageFrontBegin = Page - PageFrontSum;
if(PageFrontBegin < 1)PageFrontBegin = 1;
var PageFrontEnd = Page + PageBackSum;
if(PageFrontEnd > Pages)PageFrontEnd = Pages;
if(PageFrontBegin != 1) Temp += '<a href="javascript:void(0)" onclick="GotoPage(' + (Page - 10) + ')" title="前10页">..</a>';
for(var i = PageFrontBegin;i < Page;i ++){
Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + i + ")'>" + i + "</a>";
}
Temp += " <strong class='f90'>" + Page + "</strong>";
for(var i = Page + 1;i <= PageFrontEnd;i ++){
Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + i + ")'>" + i + "</a>";
}
if(PageFrontEnd != Pages) Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + (Page + 10) + ")' title='后10页'>..</a>";
if(Page != Pages){Temp += " <a href='javascript:void(0)' onclick='GotoPage(" + (Page + 1) + ");'>下一页</a> <a href='javascript:void(0)' onclick='GotoPage(" + Pages + ")'>最末页>></a>"}else{Temp += " 下一页 最末页>>"}
__$$("pagelist").innerHTML = Temp;
//输出数据
if(EndNO == 0){ //如果为空
__$$("pagelist").innerHTML='';
__$$("content").innerHTML = "<h1>没有数据</h1>";
return;
}
var html = "";
for(var i = BeginNO - 1;i < EndNO;i ++){
switch(vtmp1)
{
//企业
case "0":
html += "<a href='#' rel='bookmark' title=" +sites[i].cm+ ">";
html += "<p class='url'><span>" +sites[i].cm+ " | "+sites[i].pagen +"</span></p></a>";
break;
//产品
case "1":
// if(sites[i].mc.indexOf(vobj.kw)==-1) continue;
html += "<a href='#' rel='bookmark' title=" +sites[i].mc+ ">";
html += "<p class='url'><span>" +sites[i].mc+ " | "+sites[i].page +"</span></p></a>";
break;
}
}
__$$("content").innerHTML = html;
clickShow(); //调用鼠标点击事件
//键盘左右键翻页
document.onkeydown=function(e){
var theEvent = window.event || e;
var code = theEvent.keyCode || theEvent.which;
if(code==37){
if(Page > 1 && Page !== 1){
GotoPage(Page - 1);
}
}
if(code==39){
if(Page != Pages){
GotoPage(Page + 1);
}
}
}
//鼠标滚轮翻页
function handle(delta){
if (delta > 0){
if(Page > 1 && Page !== 1){
GotoPage(Page - 1);
}
}
else{
if(Page != Pages){
GotoPage(Page + 1);
}
}
}
function wheel(event){
var delta = 0;
if (!event) /* For IE. */
event = window.event;
if (event.wheelDelta) { /* IE或者Opera. */
delta = event.wheelDelta / 120;
/** 在Opera9中,事件处理不同于IE
*/
if (window.opera)
delta = -delta;
} else if (event.detail) { /** 兼容Mozilla. */
/** In Mozilla, sign of delta is different than in IE.
* Also, delta is multiple of 3.
*/
delta = -event.detail / 3;
}
/** 如果 增量不等于0则触发
* 主要功能为测试滚轮向上滚或者是向下
*/
if (delta)
handle(delta);
}
/** 初始化 */
if (window.addEventListener)
/** Mozilla的基于DOM的滚轮事件 **/
window.addEventListener("DOMMouseScroll", wheel, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;
}
//获取链接地址和网站名称
function showLink(source){
var siteUrl = __$$("siteurl");
var siteName = __$$("sitename");
var description = __$$("description");
if(source.getAttribute("rel") == "bookmark"){
var url = source.getAttribute("href");
var title = source.getAttribute("title");
siteUrl.innerHTML = "<a href='" + url + "' target='_blank'>"+ url +"</a>";
siteName.innerHTML = title;
}
}
//鼠标点击事件
function clickShow(){
var links = __$$("content").getElementsByTagName("a");
for(var i=0; i<links.length; i++){
var url = links[i].getAttribute("href");
var title = links[i].getAttribute("title");
links[i].onclick = function(){
// showLink(this);
return false;
}
}
}
//-->
打包下载地址
标签:
jquery,json,分页
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“jquery+json实现的搜索加分页效果”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。