From c4805853d518ec2f5007e44d4b75e240aacfc873 Mon Sep 17 00:00:00 2001 From: Owen Rhodes Date: Fri, 15 Jul 2016 16:17:25 +0100 Subject: [PATCH 1/4] activeClass added. Useful for showing the rotator only once loaded. --- dist/morphext.js | 11 ++++++++--- dist/morphext.min.js | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dist/morphext.js b/dist/morphext.js index 171a4fb..7f6161b 100644 --- a/dist/morphext.js +++ b/dist/morphext.js @@ -22,6 +22,7 @@ animation: "bounceIn", separator: ",", speed: 2000, + activeClass: 'active', complete: $.noop }; @@ -44,13 +45,17 @@ $that.phrases.push($.trim(value)); }); - this.index = -1; - this.animate(); - this.start(); + + this.index = -1; + this.animate(); + this.start(); + + }, animate: function () { this.index = ++this.index % this.phrases.length; this.element[0].innerHTML = "" + this.phrases[this.index] + ""; + this.element[0].classList.add(this.settings.activeClass); if ($.isFunction(this.settings.complete)) { this.settings.complete.call(this); diff --git a/dist/morphext.min.js b/dist/morphext.min.js index 674fd60..96f3883 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-15 */!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",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]+"",this.element[0].classList.add(this.settings.activeClass),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 From 032e3ef334ab10f7ec41678e9a26534b2fc2da86 Mon Sep 17 00:00:00 2001 From: Owen Rhodes Date: Fri, 15 Jul 2016 18:07:09 +0100 Subject: [PATCH 2/4] loop round all options --- dist/morphext.js | 22 +++++++++++++++++----- dist/morphext.min.js | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/dist/morphext.js b/dist/morphext.js index 7f6161b..1927c2a 100644 --- a/dist/morphext.js +++ b/dist/morphext.js @@ -23,6 +23,7 @@ separator: ",", speed: 2000, activeClass: 'active', + loop: 10, // loop n times around TBC complete: $.noop }; @@ -37,26 +38,37 @@ 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; + + //console.log(this.loops); - this.index = -1; - this.animate(); - this.start(); - + 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); + + + //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 96f3883..1347ff9 100644 --- a/dist/morphext.min.js +++ b/dist/morphext.min.js @@ -1 +1 @@ -/*! Morphext - v2.4.6 - 2016-07-15 */!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",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]+"",this.element[0].classList.add(this.settings.activeClass),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-15 */!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 From f8f637ca006f910e801b469dccd737f7151a2838 Mon Sep 17 00:00:00 2001 From: Owen Rhodes Date: Mon, 18 Jul 2016 10:03:38 +0100 Subject: [PATCH 3/4] loops added --- dist/morphext.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/morphext.min.js b/dist/morphext.min.js index 1347ff9..cfa508f 100644 --- a/dist/morphext.min.js +++ b/dist/morphext.min.js @@ -1 +1 @@ -/*! Morphext - v2.4.6 - 2016-07-15 */!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 +/*! 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 From 5e330fb38133b5cec579d5b4e145e5d268140864 Mon Sep 17 00:00:00 2001 From: Owen Rhodes Date: Mon, 18 Jul 2016 11:50:33 +0100 Subject: [PATCH 4/4] remove console log for loops --- dist/morphext.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dist/morphext.js b/dist/morphext.js index 1927c2a..7c4034e 100644 --- a/dist/morphext.js +++ b/dist/morphext.js @@ -49,9 +49,7 @@ }); this.loops = this.settings.loop * this.phrases.length; - - //console.log(this.loops); - + this.index = -1; this.animate(); this.start();