diff --git a/dist/morphext.js b/dist/morphext.js index 171a4fb..7c4034e 100644 --- a/dist/morphext.js +++ b/dist/morphext.js @@ -22,6 +22,8 @@ animation: "bounceIn", separator: ",", speed: 2000, + activeClass: 'active', + loop: 10, // loop n times around TBC complete: $.noop }; @@ -36,22 +38,35 @@ Plugin.prototype = { _init: function () { var $that = this; + this.position = 0; + this.loops = 0; this.phrases = []; this.element.addClass("morphext"); $.each(this.element.text().split(this.settings.separator), function (key, value) { $that.phrases.push($.trim(value)); + }); - + this.loops = this.settings.loop * this.phrases.length; + this.index = -1; this.animate(); - this.start(); + this.start(); + }, animate: function () { + this.position++; this.index = ++this.index % this.phrases.length; this.element[0].innerHTML = "" + this.phrases[this.index] + ""; + this.element[0].classList.add(this.settings.activeClass); + + + //console.log(this.position); + if(this.position == this.loops){ + this.stop(); + } if ($.isFunction(this.settings.complete)) { this.settings.complete.call(this); } diff --git a/dist/morphext.min.js b/dist/morphext.min.js index 674fd60..cfa508f 100644 --- a/dist/morphext.min.js +++ b/dist/morphext.min.js @@ -1 +1 @@ -/*! Morphext - v2.4.5 - 2015-08-26 */!function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,complete:a.noop};b.prototype={_init:function(){var b=this;this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML=''+this.phrases[this.index]+"",a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery); \ No newline at end of file +/*! Morphext - v2.4.6 - 2016-07-18 */!function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,activeClass:"active",loop:10,complete:a.noop};b.prototype={_init:function(){var b=this;this.position=0,this.loops=0,this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.loops=this.settings.loop*this.phrases.length,this.index=-1,this.animate(),this.start()},animate:function(){this.position++,this.index=++this.index%this.phrases.length,this.element[0].innerHTML=''+this.phrases[this.index]+"",this.element[0].classList.add(this.settings.activeClass),this.position==this.loops&&this.stop(),a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery); \ No newline at end of file