-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathjquery.labelinplace.min.js
1 lines (1 loc) · 3.27 KB
/
jquery.labelinplace.min.js
1
(function(e,c,a,g){var d="labelinplace",f={labelPosition:"up",classPlaceholder:"mypaceholder",classLabel:"mylabel",classIcon:"myicon",wrapperClass:"mygroup",animSpeed:200,labelArrowDown:null,labelArrowUp:null,labelArrowRight:null,labelIconPosition:"append",inputAttr:"name"};function b(i,h){this.element=i;this.options=e.extend({},f,h);this._defaults=f;this._name=d;this.init();}b.prototype={init:function(){var i=this.element;var h=this.options;e(i).each(function(){var l=e("label[for='"+e(this).attr(h.inputAttr)+"']");var m=parseInt(e(this).css("border-top-width"))+parseInt(e(this).css("padding-top"));var k=parseInt(e(this).css("border-left-width"))+parseInt(e(this).css("padding-left"));var j=parseInt(e(this).css("border-bottom-width"))+parseInt(e(this).css("padding-bottom"));e(this).attr({"data-height":e(this).outerHeight(),"data-width":e(this).outerWidth(),"data-spaceTop":m,"data-spaceBottom":j});switch(h.labelIconPosition){case"after":if(h.labelArrowRight){l.append('<span class="'+h.classIcon+'">'+h.labelArrowRight+"</span>");}break;default:if(h.labelArrowRight){l.prepend('<span class="'+h.classIcon+'">'+h.labelArrowRight+"</span>");}}e(this).removeAttr("placeholder");l.css("position","absolute").css("top",m+"px").css("left",k+"px").addClass(h.classPlaceholder);if(e(i).val()){l.hide();}e(this).prev("label").andSelf().wrapAll('<div class="'+h.wrapperClass+'"/>');});e(i).focus(function(){var m=e("label[for='"+e(this).attr(h.inputAttr)+"']");var k=parseInt(e(this).outerHeight());var l=parseInt(m.outerHeight());var j=parseInt(e(this).css("padding-top"));switch(h.labelPosition){case"down":m.animate({top:k},h.animSpeed,function(){if((h.labelArrowUp)&&(h.labelArrowRight)){m.find("."+h.classIcon).html(h.labelArrowUp);}});e(this).animate({height:k+l+j,"padding-bottom":l+j+"px"},h.animSpeed,function(){if(m.is(":hidden")){m.show();}m.removeClass(h.classPlaceholder).addClass(h.classLabel);});break;default:e(this).animate({height:k+l+j,"padding-top":l+j+"px"},h.animSpeed,function(){if(m.is(":hidden")){m.show();}m.removeClass(h.classPlaceholder).addClass(h.classLabel);if((h.labelArrowDown)&&(h.labelArrowRight)){m.find("."+h.classIcon).html(h.labelArrowDown);}});}});e(i).blur(function(){var m=e("label[for='"+e(this).attr(h.inputAttr)+"']");var k=e(this).attr("data-height");var j=parseInt(e(this).attr("data-spaceTop"));var l=parseInt(e(this).attr("data-spaceBottom"));switch(h.labelPosition){case"down":e(this).animate({height:k,"padding-bottom":l+"px"},h.animSpeed,function(){});if(e(this).val()!=""){m.hide();}else{m.animate({top:j},200,function(){if((h.labelArrowUp)&&(h.labelArrowRight)){m.find("."+h.classIcon).html(h.labelArrowRight);}}).removeClass(h.classLabel).addClass(h.classPlaceholder);}break;default:e(this).animate({height:k,"padding-top":j+"px"},h.animSpeed,function(){if(e(this).val()!=""){m.hide();}else{m.removeClass(h.classLabel).addClass(h.classPlaceholder);if((h.labelArrowDown)&&(h.labelArrowRight)){m.find("."+h.classIcon).html(h.labelArrowRight);}}});}});e("."+h.wrapperClass).on("click","label."+h.classPlaceholder,function(){var j=e("."+h.wrapperClass+" ["+h.inputAttr+"="+e(this).attr("for")+"]");if(j.not(":focus")){j.trigger("focus");}});}};e.fn[d]=function(h){return this.each(function(){if(!e.data(this,"plugin_"+d)){e.data(this,"plugin_"+d,new b(this,h));}});};})(jQuery,window,document);