基于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 相关文章推荐
javascript中比较字符串是否相等的方法
Jul 23 Javascript
Jquery.addClass始终无效原因分析
Sep 08 Javascript
引用 js在IE与FF之间的区别详细解析
Nov 20 Javascript
JQuery弹出层示例可自定义
May 19 Javascript
微信小程序实现实时圆形进度条的方法示例
Feb 24 Javascript
详解angularjs利用ui-route异步加载组件
May 21 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
微信小程序时间轴实现方法示例
Jan 14 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
js生成1到100的随机数最简单的实现方法
Feb 07 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
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP培训要多少钱
2017/06/06 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
js身份证验证超强脚本
2008/10/26 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
如何通过python画loss曲线的方法
2019/06/26 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
预备党员思想汇报
2014/01/08 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
导游词之日月潭
2019/11/05 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸