UNPKG

jquery-vanish

Version:

[![Build Status](https://travis-ci.org/matheusazzi/jquery-vanish.svg)](https://travis-ci.org/matheusazzi/jquery-vanish) [![Code Climate](https://codeclimate.com/repos/559bcbc46956805f29001d02/badges/9e4dc9eea15a30549ba6/gpa.svg)](https://codeclimate.com/r

2 lines (1 loc) 1.76 kB
!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){"use strict";function i(i,e){this.element=t(i),this.settings=t.extend({},n,e),this.init()}var n={duration:3e3,animation:300,className:"is-vanishing"};i.prototype.init=function(){this.text=this.element.text(),this.chars=this.text.split(""),this.mount(),this.chars=this.removeEmpties(this.chars),this.randomizables=this.indexes(),this.startTimer()},i.prototype.mount=function(){var i=t(this.generate());i.css("transition","opacity "+this.settings.animation+"ms"),this.element.html(i)},i.prototype.generate=function(){var i="";return t.each(this.chars,function(t,n){i+=" "!==n?"<span>"+n+"</span>":" "}),i},i.prototype.removeEmpties=function(t){return t.filter(function(t){return" "!==t})},i.prototype.indexes=function(){return Array(this.chars.length).join(0).split(0).map(Number.call,Number)},i.prototype.random=function(){return this.randomizables[Math.floor(Math.random()*this.randomizables.length)]},i.prototype.remove=function(t){this.randomizables.splice(this.randomizables.indexOf(t),1)},i.prototype.endVanishment=function(){clearInterval(this.settings.timer),this.element.trigger("vanished")},i.prototype.vanish=function(){var t=this.random();this.remove(t),this.element.find("span:eq("+t+")").addClass(this.settings.className).css("opacity",0),0===this.randomizables.length&&this.endVanishment()},i.prototype.startTimer=function(){var t=this;t.vanish(),this.settings.timer=setInterval(function(){t.vanish()},(this.settings.duration-this.settings.animation)/(this.chars.length-1))},t.fn.vanish=function(n){return this.each(function(){t.data(this,"plugin_vanish")||t.data(this,"plugin_vanish",new i(this,n))})}});