-
Notifications
You must be signed in to change notification settings - Fork 2
/
jQuery.pinkify.min.js
8 lines (8 loc) · 2.62 KB
/
jQuery.pinkify.min.js
1
2
3
4
5
6
7
8
// (c) Mike Poltyn
// https://github.com/Holek/Pinkify
(function(c){var l=document.createElement("div"),g=!1,j="",h=["webkit","Moz","O","ms","Khtml"],d="";window.animationstring="animation";l.style.animationName&&(g=!0);if(!1===g)for(d=0;d<h.length;d++)if(void 0!==l.style[h[d]+"AnimationName"]){d=h[d];window.animationstring=d+"Animation";j="-"+d.toLowerCase()+"-";g=!0;break}var k={init:function(b){var a=c.extend({animation:{direction:"left",duration:0.2},imageUrl:"pinkie_parasprite_polka_by_fluttershylover.gif",imageWidth:106,imageHeight:126,audioAttr:{},
aAttr:{href:"http://www.youtube.com/watch?v=6UXGEbaP5Ug&list=PL7BFEA256F3B8B0DF&index=5",target:"_blank"},audioFiles:[],click:function(){c(this).pinkify("destroy")}},b);return this.each(function(){var b=c(this);if(!b.data("pinkify")){for(var e="",d=c('<a class="pinkify"/>').attr(a.aAttr),f=0;8>f;f++)var g=Math.floor(61*Math.random()),e=e+"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz".substring(g,g+1);if(!c.isEmptyObject(a.audioFiles)){var h=c("<audio>").attr(a.audioAttr);c.each(a.audioFiles,
function(b,a){c("<source>").attr("src",a).appendTo(h)});h.appendTo(d)}f=b.outerWidth()/a.imageWidth*a.animation.duration;div=c("<span/>").css({width:"100%",height:a.imageHeight+"px",position:"absolute",bottom:"0px",background:'url("'+a.imageUrl+'") repeat-x'})[0];div.style[window.animationstring]="pinkify-entrance-"+e+" "+f+"s linear, pinkify-"+e+" "+a.animation.duration+"s linear infinite "+f+"s";d.append(div);var f="@"+j+"keyframes pinkify-"+e+" { from{background-position: "+("right"===a.animation.direction?
"-":"")+a.imageWidth+"px; } to{background-position: 0; }}",e="@"+j+"keyframes pinkify-entrance-"+e+" { from{"+("right"===a.animation.direction?"right":"left")+": 100%; width:0} to{"+("right"===a.animation.direction?"right":"left")+": 0%;}}",i;document.styleSheets&&document.styleSheets.length?(document.styleSheets[0].insertRule(f,0),document.styleSheets[0].insertRule(e,0)):(i=document.createElement("style"),i.innerHTML=f+e,document.getElementsByTagName("head")[0].appendChild(i));b.append(d).data("pinkify",
{target:b,pinkify:d,style:i}).bind("click.pinkify",a.click)}})},destroy:function(){return this.each(function(){var b=c(this),a=b.data("pinkify");b.unbind("click.pinkify");a.pinkify.remove();b.removeData("pinkify")})}};c.fn.pinkify=!1===g?function(){c.error("Pinkify plugin is not yet available for browsers that do not support native CSS animations");return this}:function(b){if(k[b])return k[b].apply(this,Array.prototype.slice.call(arguments,1));if("object"===typeof b||!b)return k.init.apply(this,arguments);
c.error("Method "+b+" does not exist on jQuery.pinkify")}})(jQuery);