(function($){ $.fn.incrustar = function(opciones){ //valores por defecto var defaults = { izquierda : 0, arriba : 0, efecto : 'desvanecer', velocidad: 'fast' }; var opciones = $.extend(defaults, opciones); var objEtiqConten = $(this); var objEtiqueta = objEtiqConten.children('label'); var objInput = objEtiqConten.children('input'); //aplicar estilos basicos objEtiqConten.css({ position: 'relative' }); objEtiqueta.css({ position: 'absolute', left: opciones.izquierda, top: opciones.arriba }); return this.each(function() { //eventos focusin, focusout objInput.focusin(function(){ var vacio = $(this).val() == ''; switch(opciones.efecto){ case 'desvanecer': if(vacio){ $(this).siblings(objEtiqueta).fadeOut(opciones.velocidad); } break; case 'deslizarVert': if(vacio){ $(this).siblings(objEtiqueta).slideUp(opciones.velocidad); } break; case 'deslizarHor': if(vacio){ var currEtiqueta = $(this).siblings(objEtiqueta); var anchoCurrEtiqueta = currEtiqueta.width(); currEtiqueta.animate({ left: -1*(anchoCurrEtiqueta + opciones.izquierda) }, opciones.velocidad); } break; default: break; } }); objInput.focusout(function(){ var vacio = $(this).val() == ''; switch(opciones.efecto){ case 'desvanecer': if(vacio){ $(this).siblings(objEtiqueta).fadeIn(opciones.velocidad); } break; case 'deslizarVert': if(vacio){ $(this).siblings(objEtiqueta).slideDown(opciones.velocidad); } break; case 'deslizarHor': if(vacio){ var currEtiqueta = $(this).siblings(objEtiqueta); var anchoCurrEtiqueta = currEtiqueta.width(); currEtiqueta.animate({ left: opciones.izquierda }, opciones.velocidad); } break; default: break; } }); return false; }); }; })(jQuery);