tbg-foundation-sites
Version:
TBG fork of the most advanced responsive front-end framework in the world.
1 lines • 2.02 kB
JavaScript
function _classCallCheck(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function i(i,t){for(var n=0;n<t.length;n++){var e=t[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(i,e.key,e)}}return function(t,n,e){return n&&i(t.prototype,n),e&&i(t,e),t}}();!function(i){var t=function(){function t(n,e){_classCallCheck(this,t),this.$element=n,this.options=i.extend({},t.defaults,this.$element.data(),e),this.id=this.$element[0].id||Foundation.GetYoDigits(6,"long-cat"),null!=this.options.initialCount&&this.options.initialCount!==!1||(this.options.initialCount=this.options.count),this.initial=!0,this.position=0,this._init(),Foundation.registerPlugin(this,"LongCat")}return _createClass(t,[{key:"_init",value:function(){this.$element.attr({"data-resize":this.id,id:this.id}),this.$visible=this.$element.find("[data-long-cat-visible]"),this.$hidden=this.$element.find("[data-long-cat-hidden] > *"),this.$trigger=this.$element.find("[data-long-cat-trigger]"),this.$hidden.hide(),this.moreContent(),this._events()}},{key:"_events",value:function(){var i=this;this.$trigger.on("click.zf.longcat",function(){i.moreContent()})}},{key:"moreContent",value:function(){var i=this,t=void 0,n=void 0,e=function(t){t.appendTo(i.$visible).fadeIn()};if(this.initial){if(this.initial=!1,0===this.options.initialCount)return;t=this.options.initialCount}else t=this.options.count;n=this.position+t,n>this.$hidden.length&&(n=this.$hidden.length),this.position<this.$hidden.length?(e(this.$hidden.slice(this.position,n)),this.position+=t):(this.position=0,e(this.$hidden.slice(this.position,t))),this.position>=this.$hidden.length&&this.$trigger.fadeOut(function(){i.$trigger.remove()})}},{key:"destroy",value:function(){this.$element.off(".zf.longcat").find("*").off(".zf.longcat"),this.$element.hide(),Foundation.unregisterPlugin(this)}}]),t}();t.defaults={count:10,initialCount:null},Foundation.plugin(t,"LongCat")}(jQuery);