基于jQuery实现点击列表加载更多效果


Posted in Javascript onMay 31, 2016

本文实例为大家分享了jQuery点击加载更多效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>jquery showMore 显示更多</title>
  <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
  <script type="text/javascript" src="js/jquery.showMore.js"></script>
</head>
<body>
  <ul class="showMoreNChildren" pagesize="5">
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
    <li>f</li>
    <li>g</li>
    <li>h</li>
    <li>i</li>
    <li>j</li>
    <li>k</li>
    <li>m</li>
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
    <li>f</li>
    <li>g</li>
    <li>h</li>
    <li>i</li>
    <li>j</li>
    <li>k</li>
    <li>m</li>
  </ul>
 
  <ul class="mynews" pagesize="4">
    <li>news 11</li>
    <li>news 12</li>
    <li>news 13</li>
    <li>news 14</li>
    <li>news 21</li>
    <li>news 22</li>
    <li>news 23</li>
    <li>news 24</li>
    <li>news 31</li>
    <li>news 32</li>
    <li>news 33</li>
    <li>news 34</li>
  </ul>
 
  <script type="text/javascript">
    //调用显示更多插件。参数是标准的 jquery 选择符 
    $.showMore(".showMoreNChildren,.mynews");
  </script>
</body>
</html>
JavaScript code
 
(function () {
  var showMoreNChildren = function ($children, n) {
    //显示某jquery元素下的前n个隐藏的子元素
    var $hiddenChildren = $children.filter(":hidden");
    var cnt = $hiddenChildren.length;
    for (var i = 0; i < n && i < cnt ; i++) {
      $hiddenChildren.eq(i).show();
    }
    return cnt - n;//返回还剩余的隐藏子元素的数量
  }
 
  jQuery.showMore = function (selector) {
    if (selector == undefined) { selector = ".showMoreNChildren" }
    //对页中现有的class=showMorehandle的元素,在之后添加显示更多条,并绑定点击行为
    $(selector).each(function () {
      var pagesize = $(this).attr("pagesize") || 10;
      var $children = $(this).children();
      if ($children.length > pagesize) {
        for (var i = pagesize; i < $children.length; i++) {
          $children.eq(i).hide();
        }
 
        $("<div class='showMorehandle' >显示更多</div>").insertAfter($(this)).click(function () {
          if (showMoreNChildren($children, pagesize) <= 0) {
            //如果目标元素已经没有隐藏的子元素了,就隐藏“点击更多的按钮条”
            $(this).hide();
          };
        });
      }
    });
  }
})();

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
JS比较两个时间大小的简单示例代码
Dec 20 Javascript
如何调试异步加载页面里包含的js文件
Oct 30 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
jquery实现图片预加载
Dec 25 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
react-native-tab-navigator组件的基本使用示例代码
Sep 07 Javascript
three.js搭建室内场景教程
Dec 30 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
说说如何利用 Node.js 代理解决跨域问题
Apr 22 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
May 31 #Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 #Javascript
Bootstrap表单布局样式代码
May 31 #Javascript
jQuery使用经验小技巧(推荐)
May 31 #Javascript
JavaScript知识点总结(十)之this关键字
May 31 #Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 #Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
May 31 #Javascript
You might like
10个实用的PHP代码片段
2011/09/02 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Array对象方法参考
2006/10/03 Javascript
Cookie 注入是怎样产生的
2009/04/08 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
jQuery技巧总结
2011/01/01 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
浅谈JavaScript 的执行顺序
2015/08/07 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
学院领导推荐信
2013/10/30 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
科技馆观后感
2015/06/08 职场文书
辞职信怎么写?
2019/05/21 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android