限时优惠活动
亲爱的苦力吧用户,我们为了回馈新老用户一直以来的鼎力支持,即日起(2025-02-06至2025-03-06)凡是购买苦力吧VIP/充值K币的新老用户,都直接可获得买一送一的优惠馈赠。例如:购买一个月的VIP会员可直接获得两个月的VIP会员;充值100K币可直接获得200K币,以此类推!有任何疑问可联系在线客服,感谢各位用户对苦力吧素材的信任与厚爱,我们将一如既往的给大家上新更多优质的素材源码,祝大家开工大吉、工作顺利、心想事成。

jquery支持自定义数据条数显示更多特效代码

所属分类: 网页特效-展开&收缩    2023-11-22 01:55:17

jquery支持自定义数据条数显示更多特效代码 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery支持自定义数据条数显示更多特效代码(共11个文件)

    • showMoreItems.min.js
    • showMoreItems-theme.min.css
    • showMoreItems.js
    • showMoreItems-theme.css
    • index.html

使用方法

  • code
  • source
  1. ;(function(factory) {
  2. if (typeof define === 'function' && define.amd) {
  3. define(['jquery'], factory);
  4. } else if (typeof exports !== 'undefined') {
  5. module.exports = factory(require('jquery'));
  6. } else {
  7. factory(jQuery);
  8. }
  9. }(function($) {
  10. var ShowMoreItems = window.ShowMoreItems || {};
  11. ShowMoreItems = (function() {
  12. var instanceUid = 0;
  13. function ShowMoreItems(element, settings) {
  14. $(element).addClass('showMoreItemsList')
  15. var _ = this, dataSettings;
  16. var defaults = {
  17. nowNum:1,
  18. //getView:0,
  19. startNum:1,
  20. afterNum:1,
  21. original:false,
  22. moreText:'Show more',
  23. noMoreText:'No more',
  24. backMoreText:'Reset',
  25. responsive:''
  26. }
  27. dataSettings = $(element).data('showMoreItems') || {};
  28. _.defaults = $.extend({}, defaults, settings, dataSettings);
  29. _.options = $.extend({}, defaults, settings, dataSettings);
  30. _.registerBreakpoints(element);
  31. _.init(element);
  32. }
  33. return ShowMoreItems;
  34. }());
  35. ShowMoreItems.prototype.init = function(element) {
  36. var _ = this;
  37. _.sum = $(element).children().length
  38. _.runData(element, _);
  39. return false
  40. };
  41. ShowMoreItems.prototype.runData = function(element, settings) {
  42. var _ = this;
  43. _.goOut=false;
  44. $(element).children().hide()
  45. $(element).next('.button-box').remove()
  46. _.nowNum =settings.options.nowNum -1
  47. _.goNum = _.nowNum + settings.options.startNum
  48. if(_.sum<=settings.options.startNum){
  49. _.goNum=_.sum;
  50. _.goOut=true;
  51. }
  52. for (var i = _.nowNum; i < _.goNum; i++) {
  53. $(element).children().eq(i).show()
  54. _.nowNum+=1;
  55. }
  56. if(!_.goOut){
  57. $(element).after('<div class="button-box"><button class="addListData">'+settings.options.moreText+'</button></div>');
  58. }
  59. $(element).next().on('click','.addListData', function(event) {
  60. _.goNum = _.nowNum + settings.options.afterNum
  61. if(_.sum<=_.goNum){
  62. _.goNum=_.sum
  63. _.goOut=true
  64. }
  65. for (var i = _.nowNum; i < _.goNum; i++) {
  66. $(element).children().eq(i).show()
  67. _.nowNum+=1
  68. }
  69. if(_.goOut && settings.options.original){
  70. $(this).text(settings.options.backMoreText).addClass('original')
  71. }
  72. else if(_.goOut){
  73. $(this).text(settings.options.noMoreText)
  74. }
  75. });
  76. $(element).next().on('click','.original', function(event) {
  77. $(this).removeClass('original');
  78. _.reflesh($(this));
  79. return false
  80. });
  81. };
  82. ShowMoreItems.prototype.reflesh = function(element) {
  83. var _ = this;
  84. thisE = element.parent().prev();
  85. element.remove();
  86. _.registerBreakpoints(element);
  87. _.init(thisE);
  88. }
  89. ShowMoreItems.prototype.registerBreakpoints = function(element) {
  90. var _ = this;
  91. if(_.options.responsive){
  92. ResponsiveArr = _.options.responsive
  93. //排序
  94. ResponsiveArr = ResponsiveArr.sort(function (a, b) {
  95. return a.breakpoint > b.breakpoint ? -1 : 1;
  96. });
  97. _.options.responsive = ResponsiveArr
  98. _.Oindex = -1
  99. _.Owidth = $(window).width()
  100. $.each(_.options.responsive, function(index, value) {
  101. if($(window).width()<=value.breakpoint){
  102. _.Oindex= index
  103. value = value.settings
  104. _.options = $.extend({}, _.options, value);
  105. }
  106. });
  107. $(window).resize(function() {
  108. run=false
  109. if($(window).width() <_.Owidth){
  110. _.Owidth = $(window).width()
  111. $.each(_.options.responsive, function(index, value) {
  112. if(_.Owidth<=value.breakpoint && _.Oindex < index){
  113. _.Oindex= index
  114. value = value.settings
  115. _.options = $.extend({}, _.options, _.defaults);
  116. _.options = $.extend({}, _.options, value);
  117. run=true
  118. return _.Oindex
  119. }
  120. });
  121. }
  122. if($(window).width() >_.Owidth){
  123. _.Owidth = $(window).width()
  124. $.each(ResponsiveArr, function(index, value) {
  125. if(_.Owidth>value.breakpoint && _.Oindex > index-1){
  126. _.Oindex= index-1
  127. if(_.Oindex!=-1){
  128. value = ResponsiveArr[index-1].settings
  129. _.options = $.extend({}, _.options, _.defaults);
  130. _.options = $.extend({}, _.options, value);
  131. run=true
  132. }else{
  133. _.options = $.extend({}, _.options, _.defaults);
  134. run=true
  135. }
  136. return _.Oindex
  137. }
  138. });
  139. }
  140. if(run==true){
  141. _.runData(element, _);
  142. }
  143. return false
  144. });
  145. }
  146. };
  147. $.fn.showMoreItems = function() {
  148. var _ = this,
  149. opt = arguments[0],
  150. args = Array.prototype.slice.call(arguments, 1),
  151. l = _.length,
  152. i,
  153. ret;
  154. for (i = 0; i < l; i++) {
  155. if (typeof opt == 'object' || typeof opt == 'undefined')
  156. _[i].showMoreItems = new ShowMoreItems(_[i], opt);
  157. else
  158. ret = _[i].showMoreItems[opt].apply(_[i].showMoreItems, args);
  159. if (typeof ret != 'undefined') return ret;
  160. }
  161. return _;
  162. };
  163. $( function () {
  164. if($('[data-showMoreItems="true"]').length){
  165. selecter =$('[data-showMoreItems="true"]')
  166. if(selecter.attr('data-showMoreItems')=='true'){
  167. var settings = {
  168. nowNum:1,
  169. getView:0,
  170. startNum:1,
  171. afterNum:1,
  172. original:false,
  173. moreText:'Show more',
  174. noMoreText:'No more',
  175. backMoreText:'Reset',
  176. responsive:''
  177. }
  178. if(selecter.attr('data-nowNum')){
  179. settings.nowNum=parseInt(selecter.attr('data-nowNum'))
  180. }
  181. if(selecter.attr('data-startNum')){
  182. settings.startNum=parseInt(selecter.attr('data-startNum'))
  183. }
  184. if(selecter.attr('data-afterNum')){
  185. settings.afterNum=parseInt(selecter.attr('data-afterNum'))
  186. }
  187. if(selecter.attr('data-original')){
  188. settings.original=Boolean(selecter.attr('data-original'))
  189. }
  190. if(selecter.attr('data-moreText')){
  191. settings.moreText=selecter.attr('data-moreText')
  192. }
  193. if(selecter.attr('data-noMoreText')){
  194. settings.noMoreText=selecter.attr('data-noMoreText')
  195. }
  196. if(selecter.attr('data-backMoreText')){
  197. settings.backMoreText=selecter.attr('data-backMoreText')
  198. }
  199. if(selecter.attr('data-responsive')){
  200. settings.responsive=eval(selecter.attr('data-responsive'))
  201. }
  202. }
  203. $('[data-showMoreItems="true"]').showMoreItems(settings);
  204. }
  205. });
  206. }));
;(function(factory) {
    if (typeof define === 'function' && define.amd) {
        define(['jquery'], factory);
    } else if (typeof exports !== 'undefined') {
        module.exports = factory(require('jquery'));
    } else {
        factory(jQuery);
    }

}(function($) {
    var ShowMoreItems = window.ShowMoreItems || {};
    ShowMoreItems = (function() {
        var instanceUid = 0;
        function ShowMoreItems(element, settings) {
            $(element).addClass('showMoreItemsList')
            var _ = this, dataSettings;
            var defaults = {
                nowNum:1,
                //getView:0,
                startNum:1,
                afterNum:1,
                original:false,
                moreText:'Show more',
                noMoreText:'No more',
                backMoreText:'Reset',
                responsive:''
            }
            dataSettings = $(element).data('showMoreItems') || {};
            _.defaults = $.extend({}, defaults, settings, dataSettings);
            _.options = $.extend({}, defaults, settings, dataSettings);
            _.registerBreakpoints(element);
            _.init(element);
        }
        return ShowMoreItems;
    }());
    ShowMoreItems.prototype.init = function(element) {
        var _ = this;
        _.sum = $(element).children().length
        _.runData(element, _);
        return false
    };
    ShowMoreItems.prototype.runData = function(element, settings) {
        var _ = this;
        _.goOut=false;
        $(element).children().hide()
        $(element).next('.button-box').remove()
        _.nowNum =settings.options.nowNum -1
        _.goNum = _.nowNum + settings.options.startNum
        if(_.sum<=settings.options.startNum){
            _.goNum=_.sum;
            _.goOut=true;
        }
        for (var i = _.nowNum; i < _.goNum; i++) {
            $(element).children().eq(i).show()
            _.nowNum+=1;
        }
        if(!_.goOut){
            $(element).after('<div class="button-box"><button class="addListData">'+settings.options.moreText+'</button></div>');
        }
        $(element).next().on('click','.addListData', function(event) {
            _.goNum = _.nowNum + settings.options.afterNum
            if(_.sum<=_.goNum){
                _.goNum=_.sum
                _.goOut=true
            }
            for (var i = _.nowNum; i < _.goNum; i++) {
                $(element).children().eq(i).show()
                _.nowNum+=1
            }
            if(_.goOut && settings.options.original){
                $(this).text(settings.options.backMoreText).addClass('original')
            }
            else if(_.goOut){
                $(this).text(settings.options.noMoreText)
            }
        });
        $(element).next().on('click','.original', function(event) {
            $(this).removeClass('original');
            _.reflesh($(this));
            return false
        });
    };
    ShowMoreItems.prototype.reflesh = function(element) {
        var _ = this;
        thisE = element.parent().prev();
        element.remove();
        _.registerBreakpoints(element);
        _.init(thisE);
    }

    ShowMoreItems.prototype.registerBreakpoints = function(element) {
        var _ = this;
        if(_.options.responsive){
            ResponsiveArr = _.options.responsive
            //排序
            ResponsiveArr = ResponsiveArr.sort(function (a, b) {
             return a.breakpoint > b.breakpoint ? -1 : 1;
            });
            _.options.responsive = ResponsiveArr
            _.Oindex = -1
            _.Owidth = $(window).width()
            $.each(_.options.responsive, function(index, value) {
                if($(window).width()<=value.breakpoint){
                    _.Oindex= index
                    value = value.settings
                    _.options = $.extend({}, _.options, value);
                }
            });
            $(window).resize(function() {
                run=false
                if($(window).width() <_.Owidth){
                    _.Owidth = $(window).width()
                    $.each(_.options.responsive, function(index, value) {
                        if(_.Owidth<=value.breakpoint && _.Oindex < index){
                            _.Oindex= index
                            value = value.settings
                            _.options = $.extend({}, _.options, _.defaults);
                            _.options = $.extend({}, _.options, value);
                            run=true
                            return _.Oindex
                        }
                    });
                }
                if($(window).width() >_.Owidth){
                    _.Owidth = $(window).width()
                    $.each(ResponsiveArr, function(index, value) {
                        if(_.Owidth>value.breakpoint && _.Oindex > index-1){
                            _.Oindex= index-1
                            if(_.Oindex!=-1){
                                value = ResponsiveArr[index-1].settings
                                _.options = $.extend({}, _.options, _.defaults);
                                _.options = $.extend({}, _.options, value);
                                run=true
                            }else{
                                _.options = $.extend({}, _.options, _.defaults);
                                run=true
                            }
                            return _.Oindex
                        }
                    });
                }
                if(run==true){
                     _.runData(element, _);
                }
                return false
            });
        }
    };
    $.fn.showMoreItems = function() {
        var _ = this,
            opt = arguments[0],
            args = Array.prototype.slice.call(arguments, 1),
            l = _.length,
            i,
            ret;
        for (i = 0; i < l; i++) {
            if (typeof opt == 'object' || typeof opt == 'undefined')
                _[i].showMoreItems = new ShowMoreItems(_[i], opt);
            else
                ret = _[i].showMoreItems[opt].apply(_[i].showMoreItems, args);
            if (typeof ret != 'undefined') return ret;
        }
        return _;
    };
    $( function () {
        if($('[data-showMoreItems="true"]').length){
            selecter =$('[data-showMoreItems="true"]')
            if(selecter.attr('data-showMoreItems')=='true'){
                var settings = {
                    nowNum:1,
                    getView:0,
                    startNum:1,
                    afterNum:1,
                    original:false,
                    moreText:'Show more',
                    noMoreText:'No more',
                    backMoreText:'Reset',
                    responsive:''
                }
                if(selecter.attr('data-nowNum')){
                    settings.nowNum=parseInt(selecter.attr('data-nowNum'))
                }
                if(selecter.attr('data-startNum')){
                    settings.startNum=parseInt(selecter.attr('data-startNum'))
                }
                if(selecter.attr('data-afterNum')){
                    settings.afterNum=parseInt(selecter.attr('data-afterNum'))
                }
                if(selecter.attr('data-original')){
                    settings.original=Boolean(selecter.attr('data-original'))
                }
                if(selecter.attr('data-moreText')){
                    settings.moreText=selecter.attr('data-moreText')
                }
                if(selecter.attr('data-noMoreText')){
                    settings.noMoreText=selecter.attr('data-noMoreText')
                }
                if(selecter.attr('data-backMoreText')){
                    settings.backMoreText=selecter.attr('data-backMoreText')
                }
                if(selecter.attr('data-responsive')){
                    settings.responsive=eval(selecter.attr('data-responsive'))
                }
            }
            $('[data-showMoreItems="true"]').showMoreItems(settings);
        }
    });
}));

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 展开&收缩

jquery可扩展折叠的文件目录导航菜单插件

JSON数据可视化为可扩展和可折叠的树结构,适用于文件夹目录、家族谱、组织结构图等。
  展开&收缩
 9344  0

jquery垂直展开收缩的手风琴特效代码

一款垂直手风琴特效组件,支持键盘上下箭头控制展开收缩操作,弹性动画呈现展开收缩。
  展开&收缩
 9356  0

原生js实现的侧边栏展开收缩高度伸缩特效

一款javascript侧边栏高度伸缩特效,鼠标点击侧边栏可自动置顶拉伸高度,再次点击可恢复原位。
  展开&收缩
 8153  0

jquery支持屏蔽禁用的手风琴展开收缩插件

一款常用的问答显示隐藏插件,支持对指定div进行禁止点击事件,禁止触发展开收缩特效。
  展开&收缩
 1357  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论