基于jQuery实现点击列表加载更多效果
来源: 阅读:7693 次 日期:2016-06-17 14:42:12
温馨提示: 小编为您整理了“基于jQuery实现点击列表加载更多效果”,方便广大网友查阅!

本文实例为大家分享了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();

          };

        });

      }

    });

  }

})();

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map