-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathjquery.flip-quote.min.js
9 lines (8 loc) · 1.97 KB
/
jquery.flip-quote.min.js
1
2
3
4
5
6
7
8
9
/*
* jquery.flip-quote.min.js v1.0.1, jQuery Flip-Quote
*
* View the plugin repository at:
* https://github.com/markserbol/flip-quote
*
*/
(function(a){var m={quoteSelector:"q",container:".container",quoteMarks:'"\u201c" "\u201d"',bgColor:"#0080C0",fontColor:"#FFF",fontSize:"24px",flipDuration:"0.7s",pads:20};a.fn.flipQuote=function(n){var b=a.extend({},m,n);return this.each(function(){function g(a){a.css({"background-color":b.bgColor,color:b.fontColor});setTimeout(function(){a.css({"background-color":"inherit",color:"inherit"})},1E3)}function h(){for(var a=document.createElement("p"),c=["perspectiveProperty","WebkitPerspective","MozPerspective"],b=0;b<c.length;b++)if(c[b]in a.style)return!0;return!1}var d=a(this),d=d.find(b.quoteSelector).length?d.find(b.quoteSelector):d,k=a(b.container),f=a(window),l=a("html, body");d.each(function(e){var c=a(this),d=c.text();c.addClass("fQ_quote");e=k.eq(e);e.addClass("fQ_container").css({"font-size":b.fontSize});frontFace=a("<div/>",{"class":"fQ_front",html:"<q>"+d+"</q>"});d=a("<div/>",{"class":"fQ_back"});frontFace.add(d).appendTo(e).css({"background-color":b.bgColor,color:b.fontColor,padding:b.pads,width:e.width()-2*b.pads}).find("q").css("quotes",b.quoteMarks);e.click(function(){c.offset().top+c.height()-50<f.scrollTop()?l.animate({scrollTop:c.offset().top-20},"slow",function(){g(c)}):c.offset().top+50>f.scrollTop()+f.height()?l.animate({scrollTop:c.offset().top+c.height()+20-f.height()},"slow",function(){g(c)}):g(c)});e.height(frontFace.innerHeight());d.innerHeight(frontFace.innerHeight())});f.scroll(function(){k.each(function(d,c){f.scrollTop()+f.height()>a(this).offset().top+a(this).height()?(a(this).addClass("fQ_flip"),a(this).find("div").css({"-moz-transition":b.flipDuration,"-webkit-transition":b.flipDuration,transition:b.flipDuration}),h||(a(this).find(".fQ_front").show(),a(this).find(".fQ_back").hide())):(a(this).removeClass("fQ_flip"),h||(a(this).find(".fQ_front").hide(),a(this).find(".fQ_back").show()))})})})}})(jQuery);