This repository was archived by the owner on Feb 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 103
Expand file tree
/
Copy pathfloatlabels.min.js
More file actions
1 lines (1 loc) · 3.46 KB
/
floatlabels.min.js
File metadata and controls
1 lines (1 loc) · 3.46 KB
1
!function($,t,a,e){function o(t,a){this.$element=$(t),this.settings=$.extend({},l,a),this.init()}var i="floatlabel",l={slideInput:!0,labelStartTop:"0px",labelEndTop:"0px",paddingOffset:"12px",transitionDuration:.1,transitionEasing:"ease-in-out",labelClass:"",backgroundColor:"transparent",typeMatches:/text|password|email|number|search|url|tel/,focusColor:"#838780",blurColor:"#2996cc"};o.prototype={init:function(){var a=this,e=this.settings,o=e.transitionDuration,i=e.transitionEasing,l=this.$element,s={"-webkit-transition":"all "+o+"s "+i,"-moz-transition":"all "+o+"s "+i,"-o-transition":"all "+o+"s "+i,"-ms-transition":"all "+o+"s "+i,transition:"all "+o+"s "+i};if(("INPUT"===l.prop("tagName").toUpperCase()||"TEXTAREA"===l.prop("tagName").toUpperCase()||"SELECT"===l.prop("tagName").toUpperCase())&&("INPUT"!=l.prop("tagName").toUpperCase()||e.typeMatches.test(l.attr("type")))){var n=l.attr("id");n||(n=Math.floor(100*Math.random())+1,l.attr("id",n));var p=l.attr("placeholder"),r=l.data("label"),c=l.data("class");c||(c=""),p&&""!==p||(p="You forgot to add placeholder attribute!"),r&&""!==r||(r=p),this.inputPaddingTop=parseFloat(l.css("padding-top"))+parseFloat(e.paddingOffset),l.wrap('<div class="floatlabel-wrapper" style="position:relative"></div>'),l.before('<label for="'+n+'" class="label-floatlabel '+e.labelClass+" "+c+'">'+r+"</label>"),this.$label=l.prev("label"),this.$label.css("SELECT"==l.prop("tagName").toUpperCase()?{position:"absolute",top:e.labelStartTop,left:"8px","font-size":"11px","font-weight":"bold",color:a.settings.blurColor,"-moz-opacity":"1","-khtml-opacity":"1","-webkit-opacity":"1",opacity:"1",display:"block"}:{position:"absolute",top:e.labelStartTop,left:"8px","font-size":"11px","font-weight":"bold",color:a.settings.blurColor,"-moz-opacity":"0","-khtml-opacity":"0","-webkit-opacity":"0",opacity:"0",display:"none"}),e.slideInput||l.css({"padding-top":this.inputPaddingTop}),l.on("keyup blur change",function(t){a.checkValue(t)}),l.on("blur",function(){l.prev("label").css({color:a.settings.blurColor})}),l.on("focus",function(){l.prev("label").css({color:a.settings.focusColor})}),t.setTimeout(function(){a.$label.css(s),a.$element.css(s)},100),this.checkValue()}},checkValue:function(t){if(t){var a=t.keyCode||t.which;if(9===a)return}var e=this.$element,o=e.data("flout");""!==e.val()&&e.data("flout","1"),""===e.val()&&e.data("flout","0"),"1"===e.data("flout")&&"1"!==o&&this.showLabel(),"SELECT"!==e.prop("tagName").toUpperCase()&&"0"===e.data("flout")&&"0"!==o&&this.hideLabel()},showLabel:function(){var a=this;a.$label.css({display:"block"}),t.setTimeout(function(){a.$label.css({top:a.settings.labelStartTop,"-moz-opacity":"1","-khtml-opacity":"1","-webkit-opacity":"1",opacity:"1"}),a.settings.slideInput&&a.$element.css("SELECT"!==a.$element.prop("tagName").toUpperCase()?{"padding-top":a.inputPaddingTop}:{"padding-top":a.inputPaddingTop-parseFloat(a.settings.labelStartTop)-6}),a.$element.addClass("active-floatlabel")},50)},hideLabel:function(){var a=this;a.$label.css({top:a.settings.labelStartTop,"-moz-opacity":"0","-khtml-opacity":"0","-webkit-opacity":"0",opacity:"0"}),a.settings.slideInput&&a.$element.css({"padding-top":parseFloat(a.inputPaddingTop)-parseFloat(this.settings.paddingOffset)}),a.$element.removeClass("active-floatlabel"),t.setTimeout(function(){a.$label.css({display:"none"})},1e3*a.settings.transitionDuration)}},$.fn[i]=function(t){return this.each(function(){$.data(this,"plugin_"+i)||$.data(this,"plugin_"+i,new o(this,t))})}}(jQuery,window,document);