源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jquery+json实现的搜索加分页效果

  • 时间:2021-07-28 12:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jquery+json实现的搜索加分页效果
1.Web 里面有三个目录:   1.1 content.htm    //这个文件直接运行就行   1.2 js          //这里面有用到的几个js 文件,其中 以db 开头的就是数据源(就是json 串)   1.3 css         //css 就不用说了 2. 直接运行 content.htm 就可以直接打开查看分页和搜索效果了 3. 原理很简单,只是用了javascript 的index 函数 核心代码:
[url=#]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;         }     } } //-->
打包下载地址 [/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部