(function($){ var p_range = 4, //链接数量 p_datanum = 4, //多少条数据 p_pagesize = 10, //每页显示多少 p_link = ' %page% ', //链接样式 p_curLink = ' %page% ', //当前页的链接样式 p_preHtml = ' ', p_nextHtml = '', p_preHtml_d = '上一页', p_nextHtml_d= '下一页', p_nextRangeHtml = '下%range%页', p_info = '%current%/%end% 共%datanum%条信息 ', p_style = '%preHtml%%link%%nextHtml%', //分页样式结构 p_load_str = sprintf('
' , W_NEW_COMM_PATH + 'img/loading.gif' ), p_dataObj = $('.list_Comment_hot'), //内容容器对象 p_pageObj = $('.Paging'), //分页容器对象 p_bindObj = '.Paging a', //触发事件对象 p_ajaxData = {pagesize:p_pagesize}, //ajax 传递json对象 p_ajaxUrl = 'http://china.findlaw.cn/zhishi/index.php?m=Comment&a=forwardListJSON&module=zhuanti&aid=20130307&jsoncallback=?', //ajax处理文件 //以下变量如无特殊需要,请忽修改 p_index = 1, //首页 p_end = Math.ceil(p_datanum/p_pagesize), //最后一页,也就是总页数 p_current = 1, //当前页 p_low = 0, p_upp = 0, p_pre = 0, p_next = 0, p_nextRange = 0, // 缓存对象 p_cache ={}; if(p_range > p_end) p_range = p_end; var delta = Math.ceil(p_range / 2); $(function(){ p_pageObj.html(makePageHtml()); runAjax($(p_bindObj).eq(0),true); }); function runAjax(obj,noScroll){ var p = parseInt(obj.attr('p')); var cache_name = 'cache_'+p; var cache_json_name = 'cache_json_'+p; var cache_data = p_cache[cache_name]; quotePanel.css('display','none').insertAfter($('body')); if( !(cache_data) ){ $(p_bindObj).unbind('click'); p_dataObj.html(p_load_str); p_ajaxData.page = p; //传递页数过去 $.getJSON(p_ajaxUrl,p_ajaxData,function(data){ if(data.state == 200){ p_cache[cache_json_name] = data.data; //存入json缓存 current_page_data = data.data; var html = makeDataHtml(data.data); p_current = p; p_pageObj.html(makePageHtml()); p_dataObj.html(html); $(p_bindObj).click(function(){ runAjax($(this)); return false; }); p_cache[cache_name] = html; }else alert(data.data); }); }else{ p_current = p; p_pageObj.html(makePageHtml()); $(p_bindObj).click(function(){ runAjax($(this)); return false; }); p_dataObj.html(cache_data); } if(!noScroll) scroll_comment(); current_page_data = p_cache[cache_json_name]; return false; } /* 计算分页码 */ function planning(){ if(p_current - delta > p_end - p_range){ p_low = p_end - p_range + 1; p_upp = p_end; }else{ var offset = p_current - delta; if(p_current - delta < 0){ offset = 0; } p_low = offset + 1; p_upp = offset + p_range; } if(p_current > 1 && p_end>0) p_pre= p_current-1; else p_pre = 0; if(p_current < p_end) p_next = p_current+1; else p_next = 0; if(p_current+p_range < p_end ) p_nextRange = p_current+p_range; else p_nextRange=0; } /* 构造html节点,可根据页面排序来编写 */ function makeDataHtml(data){ return makeHtml_dl(data); } function makePageHtml(){ if(p_end<=1){ if(p_datanum == 0){ return '美好的心情,从评论开始 ^0^'; } return '当前共有'+p_datanum+'条信息'; } planning(); var pre_str = next_str = link_str = nextRange_str = ''; if(p_pre > 0){ pre_str = replaceAll('%index%',p_index,p_preHtml); pre_str = replaceAll('%pre%',p_pre,pre_str); }else{ pre_str = p_preHtml_d; } if(p_next > 0){ next_str = replaceAll('%end%',p_end,p_nextHtml); next_str = replaceAll('%next%',p_next,next_str); }else{ next_str = p_nextHtml_d; } if(p_nextRange > 0){ nextRange_str = replaceAll('%nextRange%',p_nextRange,p_nextRangeHtml); nextRange_str = replaceAll('%range%',p_range,nextRange_str); } for(i=p_low;i<=p_upp;i++){ if(i == p_current){ link_str += replaceAll('%page%',i,p_curLink); }else{ link_str += replaceAll('%page%',i,p_link); } } if(p_low > 1){ if(p_low > 2){ // link_str = replaceAll('%page%',1,p_link) + p_link.replace('%page%',p_current).replace('%page%','..') +link_str; link_str = replaceAll('%page%',1,p_link) + ' ... ' +link_str; }else{ link_str = replaceAll('%page%',1,p_link) + link_str; } } if(p_end > p_upp){ if(p_end - p_upp == 1){ link_str += replaceAll('%page%',p_end,p_link); }else{ // link_str += p_link.replace('%page%',p_current).replace('%page%','..') + replaceAll('%page%',p_end,p_link); link_str += ' ... ' + replaceAll('%page%',p_end,p_link); } } info_str = replaceAll('%current%',p_current,p_info); info_str = replaceAll('%end%',p_end,info_str); info_str = replaceAll('%datanum%',p_datanum,info_str); return p_style.replace('%info%',info_str).replace('%preHtml%',pre_str) .replace('%link%',link_str).replace('%nextHtml%',next_str).replace('%nextRange%',nextRange_str); } })(jQuery)