JS版本:
//total_page:总页数 //boundary:页数临界值 //front_range:前段显示页码数 //mid_range:中段显示页码数 //rear_range后段显示页码数 //page_size:每页记录数 var pagination_config = {total_page : 10,current_page:1, boundary : 7, front_range : 1, mid_range : 5,rear_range : 1,page_size:10}; /** * 分?格式?理,ex. prev 1 ... 8 9 10 11 12 ... 20 next * @return array 要?示的?? */ function pagintion_array() { var total_page = pagination_config.total_page, boundary = pagination_config.boundary, front_range = pagination_config.front_range, mid_range = pagination_config.mid_range, rear_range = pagination_config.rear_range, current_page = pagination_config.current_page; var pagintion = []; current_page = (current_page > total_page) ? total_page : current_page; // ???小於???界值,??示所有?? if (total_page <= boundary) { for (i = 1; i <= total_page; i++) { pagintion.push(i); } } else { var front_end = front_range; // 前段最後一??? var mid_start = current_page - Math.ceil(parseFloat(mid_range - 1) / 2); // 中段第一??? var mid_end = current_page + ((mid_range - 1) - Math.ceil((mid_range - 1) / 2)); // 中段最後一??? var rear_start = total_page - rear_range + 1; // 後段第一??? // 中段第一???小於等於1,中???往左位移 while (mid_start <= 1) { if (mid_start < 1) mid_end += 1; mid_start += 1; } // 中段第一???大於等於???,中???往右位移 while (mid_end >= total_page) { if (mid_end > total_page) mid_start -= 1; mid_end -= 1; } // 取出需要?示的??? for (var i = 1; i <= total_page; i++) { if (i <= front_end || (i >= mid_start && i <= mid_end) || i >= rear_start) { if (i - pagintion[pagintion.length-1] > 1) { pagintion.push('...'); } pagintion.push(i); } } } return pagintion; } /** * 拼装分页的 html ; * 样式 for jquery.simplepagination * @return string */ function create_html() { var current_page = pagination_config.current_page, total_page = pagination_config.total_page; if(total_page<=1){ return; } var html = '<ul>'; //计算总页数; //计算分页 var pagintion = pagintion_array(); //上一页 //上一页 不可点击 if (current_page <= 1) { html+='<li class="pg-prev pg-off"><a href=""><i></i>上一页</a></li>'; } else { //上一页可点击 var page_prev = current_page - 1; html+='<li class="pg-prev" data-page-index='+page_prev+'><a href="javascript:void(0)"><i></i>上一页</a></li>'; } //每一页的 链接 for(var i=0;i<pagintion.length;i++){ var page_id = pagintion[i]; if (page_id == current_page) { html+='<li class="pg-on pg-index" data-page-index='+page_id+'><a href="javascript:void(0)" class="on">'+page_id+'</a></li>'; } else if (page_id == '...') { html+='<li>...</li>'; } else { html+='<li pg-index data-page-index='+page_id+'><a href="javascript:void(0)">'+page_id+'</a></li>'; } } //下一页 //下一页 不可点击 if (current_page >= total_page) { html+='<li class="pg-next pg-off"><a href="javascript:void(0)">下一页</a></li>'; } else { //下一页 可点击 var page_next = current_page + 1; html+='<li class="pg-next" data-page-index='+page_next+'><a href="javascript:void(0)">下一页</a></li>'; } html+='<li class="pg-num-top">到第</li>'; html+='<li class="pg-num"><input type="text" class="jump_index" ></li>'; html+='<li class="pg-num-bot">页</li>'; html+='<li class="pg-btn"><button class="btn_jump">确定</button></li>'; html+='</ul>'; $('.pagintion').children().remove(); $('.pagintion').append(html); $(".pagintion").find('[data-page-index]').on("click",function(){ if($(this).data('page-index')!=pagination_config.current_page){ pagination_config.current_page = $(this).data('page-index'); //绑定列表 get_comment_list(); } }) } }
PHP版本:
<?php/** * 分页类 * @auth * @date 2014-10-24 */class Pagination_lib{ /** * 参数设定 * @param int $current_page ?前?? * @param int $total_page ??? * @param int $boundary ???界值 * @param int $front_range 前段?示??? * @param int $mid_range 中段?示??? * @param int $rear_range 後段?示??? */ public $current_page = 1; public $total_page = 10; public $boundary = 7; public $front_range = 1; public $mid_range = 5; public $rear_range = 1; //每个页的链接 如: domain/list#page= public $page_url = '#page='; /** * 初始化设置 分页类 * @param type $config */ function init($config = array()) { if (count($config) > 0) { foreach ($config as $key => $val) { if (isset($this->$key)) { $this->$key = $val; } } } } /** * 分?格式?理,ex. prev 1 ... 8 9 10 11 12 ... 20 next * copy from Store_lib.pagintion , 从Store_lib中复制过来 * @param int $current_page ?前?? * @param int $total_page ??? * @param int $boundary ???界值 * @param int $front_range 前段?示??? * @param int $mid_range 中段?示??? * @param int $rear_range 後段?示??? * @return array 要?示的?? */ public function pagintion_array($current_page = 1, $total_page = 10, $boundary = 7, $front_range = 1, $mid_range = 5, $rear_range = 1) { $pagintion = array(); $current_page = ($current_page > $total_page) ? $total_page : $current_page; // ???小於???界值,??示所有?? if ($total_page <= $boundary) { for ($i = 1; $i <= $total_page; $i++) { $pagintion[] = $i; } } else { $front_end = $front_range; // 前段最後一??? $mid_start = $current_page - ceil(($mid_range - 1) / 2); // 中段第一??? $mid_end = $current_page + (($mid_range - 1) - ceil(($mid_range - 1) / 2)); // 中段最後一??? $rear_start = $total_page - $rear_range + 1; // 後段第一??? // 中段第一???小於等於1,中???往左位移 while ($mid_start <= 1) { if ($mid_start < 1) $mid_end += 1; $mid_start += 1; } // 中段第一???大於等於???,中???往右位移 while ($mid_end >= $total_page) { if ($mid_end > $total_page) $mid_start -= 1; $mid_end -= 1; } // 取出需要?示的??? for ($i = 1; $i <= $total_page; $i++) { if ($i <= $front_end || ($i >= $mid_start && $i <= $mid_end) || $i >= $rear_start) { if ($i - (int) end($pagintion) > 1) { $pagintion[] = '...'; } $pagintion[] = $i; } } } return $pagintion; } /** * 拼装分页的 html ; * 样式 for jquery.simplepagination * @return string */ function create_html() { $html = '<ul>'; //计算总页数; //计算分页 $pagintion = $this->pagintion_array($this->current_page, $this->total_page, $this->boundary, $this->front_range, $this->mid_range, $this->rear_range); //上一页 //上一页 不可点击 if ($this->current_page <= 1) { $html.='<li class="active"><span class="current prev" style="color: rgb(188, 188, 188); position: relative; width: 57px; background: rgb(255, 255, 255);"><span class="bg_prev" style="background-position: -78px -210px;"></span>上一页</span></li>'; } else { //上一页可点击 $page_prev = $this->current_page - 1; $html.='<li><a href="' . $this->page_url . $page_prev . '" class="page-link prev" url="' . $this->page_url . $page_prev . '" page="' . $page_prev . '" style="color: rgb(102, 102, 102); position: relative; background: rgb(255, 255, 255);"><span class="bg_prev" style="background-position: -99px -210px;"></span>上一页</a></li>'; } //每一页的 链接 foreach ($pagintion as $page_id) { if ($page_id == $this->current_page) { $html.='<li class="active"><span class="current">' . $page_id . '</span></li>'; } elseif ($page_id == '...') { $html.='<li class="disabled"><span class="ellipse">…</span></li>'; } else { $html.='<li><a href="' . $this->page_url . $page_id . '" class="page-link" page="' . $page_id . '">' . $page_id . '</a></li>'; } } //下一页 //下一页 不可点击 if ($this->current_page >= $this->total_page) { $html.='<li class="active"><span class="current next" style="color: rgb(188, 188, 188); position: relative; background: rgb(255, 255, 255);"><span class="bg_next" style="background-position: -84px -210px;"></span>下一页</span></li>'; } else { //下一页 可点击 $page_next = $this->current_page + 1; $html.='<li><a href="' . $this->page_url . $page_next . '" class="page-link next" url="' . $this->page_url . $page_next . '" page="' . $page_next . '" style="color: rgb(102, 102, 102); position: relative; width: 57px; background: rgb(255, 255, 255);"><span class="bg_next" style="background-position: -104px -210px;"></span>下一页</a></li>'; } $html.='</ul>'; return $html; }}
预览效果:

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。