This commit is contained in:
FezVrasta 2014-12-01 11:59:48 +01:00
parent 59424d3959
commit d1c75c7321
7 changed files with 11 additions and 5 deletions

View File

@ -10,6 +10,7 @@
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
border-radius: inherit; border-radius: inherit;
pointer-events: none;
} }
.ripple { .ripple {
position: absolute; position: absolute;

View File

@ -1 +1 @@
{"version":3,"sources":["/less/ripples.less"],"names":[],"mappings":"AAAA;EACI,kBAAA;;AAEJ;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,sBAAA;;AAEJ;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;EACA,mBAAA;EACA,qCAAA;EACA,WAAW,QAAX;EACA,qBAAA;EACA,UAAA;EACA,oBAAA;;AAEJ,OAAO;EACH,qDAAqD,iCAArD;EACA,aAAA;;AAEJ,OAAO;EACH,6CAAA;EACA,UAAA"} {"version":3,"sources":["/less/ripples.less"],"names":[],"mappings":"AAAA;EACI,kBAAA;;AAEJ;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,sBAAA;EACA,oBAAA;;AAEJ;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;EACA,mBAAA;EACA,qCAAA;EACA,WAAW,QAAX;EACA,qBAAA;EACA,UAAA;EACA,oBAAA;;AAEJ,OAAO;EACH,qDAAqD,iCAArD;EACA,aAAA;;AAEJ,OAAO;EACH,6CAAA;EACA,UAAA"}

4
dist/js/ripples.js vendored
View File

@ -41,6 +41,8 @@
return false; return false;
} }
var element = $(this);
// If the ripple wrapper does not exists, create it // If the ripple wrapper does not exists, create it
if (!$(this).find(".ripple-wrapper").length) { if (!$(this).find(".ripple-wrapper").length) {
$(this).append("<div class=ripple-wrapper></div>"); $(this).append("<div class=ripple-wrapper></div>");
@ -109,7 +111,7 @@
}, 500); }, 500);
// On mouseup or on mouseleave, set the mousedown flag to "off" and try to destroy the ripple // On mouseup or on mouseleave, set the mousedown flag to "off" and try to destroy the ripple
wrapper.on("mouseup mouseleave", function() { element.on("mouseup mouseleave", function() {
ripple.data("mousedown", "off"); ripple.data("mousedown", "off");
// If the transition "on" is finished then we can destroy the ripple with transition "out" // If the transition "on" is finished then we can destroy the ripple with transition "out"
if (ripple.data("animating") == "off") { if (ripple.data("animating") == "off") {

View File

@ -1,2 +1,2 @@
!function(a){a.ripples=function(b){function c(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function d(a){a.off(),a.addClass("ripple-out"),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})}var e={target:".btn:not(.btn-link), .card-image, .navbar a:not(.withoutripple), .nav-tabs a:not(.withoutripple), .withripple"};b=a.extend(e,b),a(document).on("mousedown touchstart",b.target,function(b){if(c()&&"mousedown"==b.type)return!1;a(this).find(".ripple-wrapper").length||a(this).append("<div class=ripple-wrapper></div>");var e,f,g=a(this).find(".ripple-wrapper"),h=g.offset();if(c()){if(b=b.originalEvent,1!==b.touches.length)return;e=b.touches[0].pageX-h.left,f=b.touches[0].pageY-h.top}else e=b.pageX-h.left,f=b.pageY-h.top;var i=a("<div></div>");i.addClass("ripple"),i.css({left:e,top:f}),i.css({"background-color":window.getComputedStyle(a(this)[0]).color}),g.append(i),function(){return window.getComputedStyle(i[0]).opacity}();var j=Math.max(a(this).outerWidth(),a(this).outerHeight())/i.outerWidth()*2.5;i.css({"-ms-transform":"scale("+j+")","-moz-transform":"scale("+j+")","-webkit-transform":"scale("+j+")",transform:"scale("+j+")"}),i.addClass("ripple-on"),i.data("animating","on"),i.data("mousedown","on"),setTimeout(function(){i.data("animating","off"),"off"==i.data("mousedown")&&d(i)},500),g.on("mouseup mouseleave",function(){i.data("mousedown","off"),"off"==i.data("animating")&&d(i)})})},a.fn.ripples=function(){a.ripples({target:a(this)})}}(jQuery); !function(a){a.ripples=function(b){function c(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function d(a){a.off(),a.addClass("ripple-out"),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})}var e={target:".btn:not(.btn-link), .card-image, .navbar a:not(.withoutripple), .nav-tabs a:not(.withoutripple), .withripple"};b=a.extend(e,b),a(document).on("mousedown touchstart",b.target,function(b){if(c()&&"mousedown"==b.type)return!1;var e=a(this);a(this).find(".ripple-wrapper").length||a(this).append("<div class=ripple-wrapper></div>");var f,g,h=a(this).find(".ripple-wrapper"),i=h.offset();if(c()){if(b=b.originalEvent,1!==b.touches.length)return;f=b.touches[0].pageX-i.left,g=b.touches[0].pageY-i.top}else f=b.pageX-i.left,g=b.pageY-i.top;var j=a("<div></div>");j.addClass("ripple"),j.css({left:f,top:g}),j.css({"background-color":window.getComputedStyle(a(this)[0]).color}),h.append(j),function(){return window.getComputedStyle(j[0]).opacity}();var k=Math.max(a(this).outerWidth(),a(this).outerHeight())/j.outerWidth()*2.5;j.css({"-ms-transform":"scale("+k+")","-moz-transform":"scale("+k+")","-webkit-transform":"scale("+k+")",transform:"scale("+k+")"}),j.addClass("ripple-on"),j.data("animating","on"),j.data("mousedown","on"),setTimeout(function(){j.data("animating","off"),"off"==j.data("mousedown")&&d(j)},500),e.on("mouseup mouseleave",function(){j.data("mousedown","off"),"off"==j.data("animating")&&d(j)})})},a.fn.ripples=function(){a.ripples({target:a(this)})}}(jQuery);
//# sourceMappingURL=ripples.min.js.map //# sourceMappingURL=ripples.min.js.map

View File

@ -1 +1 @@
{"version":3,"file":"ripples.min.js","sources":["ripples.js"],"names":["$","ripples","options","isTouch","test","navigator","userAgent","rippleOut","ripple","off","addClass","on","remove","defaultOptions","target","extend","document","e","type","this","find","length","append","relX","relY","wrapper","wrapperOffset","offset","originalEvent","touches","pageX","left","pageY","top","css","background-color","window","getComputedStyle","color","opacity","size","Math","max","outerWidth","outerHeight","-ms-transform","-moz-transform","-webkit-transform","transform","data","setTimeout","fn","jQuery"],"mappings":"CAGA,SAAUA,GACRA,EAAEC,QAAU,SAASC,GAQnB,QAASC,KACP,MAAO,iEAAiEC,KAAKC,UAAUC,WAKzF,QAASC,GAAUC,GAGjBA,EAAOC,MAGPD,EAAOE,SAAS,cAGhBF,EAAOG,GAAG,mEAAoE,WAC5EH,EAAOI,WArBX,GAAIC,IACFC,OAAU,gHA0BZZ,GAAUF,EAAEe,OAAOF,EAAgBX,GAGnCF,EAAEgB,UACDL,GAAG,uBAAwBT,EAAQY,OAAQ,SAASG,GACnD,GAAId,KAAuB,aAAVc,EAAEC,KACjB,OAAO,CAIJlB,GAAEmB,MAAMC,KAAK,mBAAmBC,QACnCrB,EAAEmB,MAAMG,OAAO,mCAGjB,IAIIC,GACAC,EALAC,EAAUzB,EAAEmB,MAAMC,KAAK,mBAGvBM,EAAgBD,EAAQE,QAG5B,IAAKxB,IAIE,CAGL,GADAc,EAAIA,EAAEW,cACmB,IAArBX,EAAEY,QAAQR,OAIZ,MAHAE,GAAON,EAAEY,QAAQ,GAAGC,MAAQJ,EAAcK,KAC1CP,EAAOP,EAAEY,QAAQ,GAAGG,MAAQN,EAAcO,QAP5CV,GAAON,EAAEa,MAAQJ,EAAcK,KAC/BP,EAAOP,EAAEe,MAAQN,EAAcO,GAajC,IAAIzB,GAASR,EAAE,cAGfQ,GAAOE,SAAS,UAGhBF,EAAO0B,KAAKH,KAAQR,EAAMU,IAAOT,IAGjChB,EAAO0B,KAAKC,mBAAoBC,OAAOC,iBAAiBrC,EAAEmB,MAAM,IAAImB,QAGpEb,EAAQH,OAAOd,GAGf,WAAc,MAAO4B,QAAOC,iBAAiB7B,EAAO,IAAI+B,UAGxD,IAAIC,GAAQC,KAAKC,IAAI1C,EAAEmB,MAAMwB,aAAc3C,EAAEmB,MAAMyB,eAAiBpC,EAAOmC,aAAgB,GAE3FnC,GAAO0B,KACLW,gBAAiB,SAAWL,EAAO,IACnCM,iBAAkB,SAAWN,EAAO,IACpCO,oBAAqB,SAAWP,EAAO,IACvCQ,UAAa,SAAWR,EAAO,MAIjChC,EAAOE,SAAS,aAChBF,EAAOyC,KAAK,YAAa,MACzBzC,EAAOyC,KAAK,YAAa,MAGzBC,WAAW,WACT1C,EAAOyC,KAAK,YAAa,OACO,OAA5BzC,EAAOyC,KAAK,cACd1C,EAAUC,IAEX,KAGHiB,EAAQd,GAAG,qBAAsB,WAC/BH,EAAOyC,KAAK,YAAa,OAEO,OAA5BzC,EAAOyC,KAAK,cACd1C,EAAUC,QAQlBR,EAAEmD,GAAGlD,QAAU,WACbD,EAAEC,SAASa,OAAUd,EAAEmB,UAGxBiC"} {"version":3,"file":"ripples.min.js","sources":["ripples.js"],"names":["$","ripples","options","isTouch","test","navigator","userAgent","rippleOut","ripple","off","addClass","on","remove","defaultOptions","target","extend","document","e","type","element","this","find","length","append","relX","relY","wrapper","wrapperOffset","offset","originalEvent","touches","pageX","left","pageY","top","css","background-color","window","getComputedStyle","color","opacity","size","Math","max","outerWidth","outerHeight","-ms-transform","-moz-transform","-webkit-transform","transform","data","setTimeout","fn","jQuery"],"mappings":"CAGA,SAAUA,GACRA,EAAEC,QAAU,SAASC,GAQnB,QAASC,KACP,MAAO,iEAAiEC,KAAKC,UAAUC,WAKzF,QAASC,GAAUC,GAGjBA,EAAOC,MAGPD,EAAOE,SAAS,cAGhBF,EAAOG,GAAG,mEAAoE,WAC5EH,EAAOI,WArBX,GAAIC,IACFC,OAAU,gHA0BZZ,GAAUF,EAAEe,OAAOF,EAAgBX,GAGnCF,EAAEgB,UACDL,GAAG,uBAAwBT,EAAQY,OAAQ,SAASG,GACnD,GAAId,KAAuB,aAAVc,EAAEC,KACjB,OAAO,CAGT,IAAIC,GAAUnB,EAAEoB,KAGXpB,GAAEoB,MAAMC,KAAK,mBAAmBC,QACnCtB,EAAEoB,MAAMG,OAAO,mCAGjB,IAIIC,GACAC,EALAC,EAAU1B,EAAEoB,MAAMC,KAAK,mBAGvBM,EAAgBD,EAAQE,QAG5B,IAAKzB,IAIE,CAGL,GADAc,EAAIA,EAAEY,cACmB,IAArBZ,EAAEa,QAAQR,OAIZ,MAHAE,GAAOP,EAAEa,QAAQ,GAAGC,MAAQJ,EAAcK,KAC1CP,EAAOR,EAAEa,QAAQ,GAAGG,MAAQN,EAAcO,QAP5CV,GAAOP,EAAEc,MAAQJ,EAAcK,KAC/BP,EAAOR,EAAEgB,MAAQN,EAAcO,GAajC,IAAI1B,GAASR,EAAE,cAGfQ,GAAOE,SAAS,UAGhBF,EAAO2B,KAAKH,KAAQR,EAAMU,IAAOT,IAGjCjB,EAAO2B,KAAKC,mBAAoBC,OAAOC,iBAAiBtC,EAAEoB,MAAM,IAAImB,QAGpEb,EAAQH,OAAOf,GAGf,WAAc,MAAO6B,QAAOC,iBAAiB9B,EAAO,IAAIgC,UAGxD,IAAIC,GAAQC,KAAKC,IAAI3C,EAAEoB,MAAMwB,aAAc5C,EAAEoB,MAAMyB,eAAiBrC,EAAOoC,aAAgB,GAE3FpC,GAAO2B,KACLW,gBAAiB,SAAWL,EAAO,IACnCM,iBAAkB,SAAWN,EAAO,IACpCO,oBAAqB,SAAWP,EAAO,IACvCQ,UAAa,SAAWR,EAAO,MAIjCjC,EAAOE,SAAS,aAChBF,EAAO0C,KAAK,YAAa,MACzB1C,EAAO0C,KAAK,YAAa,MAGzBC,WAAW,WACT3C,EAAO0C,KAAK,YAAa,OACO,OAA5B1C,EAAO0C,KAAK,cACd3C,EAAUC,IAEX,KAGHW,EAAQR,GAAG,qBAAsB,WAC/BH,EAAO0C,KAAK,YAAa,OAEO,OAA5B1C,EAAO0C,KAAK,cACd3C,EAAUC,QAQlBR,EAAEoD,GAAGnD,QAAU,WACbD,EAAEC,SAASa,OAAUd,EAAEoB,UAGxBiC"}

View File

@ -10,6 +10,7 @@
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
border-radius: inherit; border-radius: inherit;
pointer-events: none;
} }
.ripple { .ripple {
position: absolute; position: absolute;

View File

@ -41,6 +41,8 @@
return false; return false;
} }
var element = $(this);
// If the ripple wrapper does not exists, create it // If the ripple wrapper does not exists, create it
if (!$(this).find(".ripple-wrapper").length) { if (!$(this).find(".ripple-wrapper").length) {
$(this).append("<div class=ripple-wrapper></div>"); $(this).append("<div class=ripple-wrapper></div>");
@ -109,7 +111,7 @@
}, 500); }, 500);
// On mouseup or on mouseleave, set the mousedown flag to "off" and try to destroy the ripple // On mouseup or on mouseleave, set the mousedown flag to "off" and try to destroy the ripple
wrapper.on("mouseup mouseleave", function() { element.on("mouseup mouseleave", function() {
ripple.data("mousedown", "off"); ripple.data("mousedown", "off");
// If the transition "on" is finished then we can destroy the ripple with transition "out" // If the transition "on" is finished then we can destroy the ripple with transition "out"
if (ripple.data("animating") == "off") { if (ripple.data("animating") == "off") {