基于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 相关文章推荐
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
通过实例理解javascript中没有函数重载的概念
Jun 03 Javascript
Bootstrap每天必学之前端开发框架
Nov 19 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
Dec 17 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 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
AM/FM收音机的安装与调试
2021/03/02 无线电
WordPress判断用户是否登录的代码
2011/03/17 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
理解javascript封装
2016/02/23 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
原生js轮播特效
2017/05/18 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
Python中请不要再用re.compile了
2019/06/30 Python
Django之PopUp的具体实现方法
2019/08/31 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
入党现实表现材料
2014/12/23 职场文书
小学副班长竞选稿
2015/11/21 职场文书
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android