Foros del Web » Programando para Internet » Jquery »

Problemas con position()

Estas en el tema de Problemas con position() en el foro de Jquery en Foros del Web. Buenas tardes, tengo un pequeño problema: tengo el siguiente codigo para mostrar uuna validacion al lado de un textbox. Cita: <form> <table align="center"> <tr> <td>Usuario</td> ...
  #1 (permalink)  
Antiguo 04/04/2015, 15:56
Avatar de juanleonardo  
Fecha de Ingreso: agosto-2007
Mensajes: 382
Antigüedad: 16 años, 8 meses
Puntos: 0
Problemas con position()

Buenas tardes, tengo un pequeño problema:

tengo el siguiente codigo para mostrar uuna validacion al lado de un textbox.


Cita:
<form>
<table align="center">
<tr>
<td>Usuario</td>
<td>
<input type="text" name="login" id="login" class="campo" tabindex="1" />
<div id="error1" class="errores">Ingrese Login</div>
</td>
tengo tambien el codigo jquery q me meustra el mensaje al hacer click en un boton

Cita:
$(document).ready(function(){

function ValidarLogin()
{
var login = $("#login").val();
var widthLogin = $("#login").width();

var positionLogin = $("#login").offset();

$("#error1").css('margin-left', widthLogin + 32);
$("#error1").css('margin-top', positionLogin .Top);
el codigo CSS (q tambien usa para esto) es el siguiente:

Cita:
.errores{
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.3);
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.3);
-o-box-shadow: 0 0 10px rgba(0,0,0,0.3);
background: #F93;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
color: #fff;
display:none;
font-size: 12px;
padding: 10px;
position: absolute;
}
El problema es cuando usa el metodo position(), (para obtener la posicion del textbox y asi saber en que posicion poner el mensaje) y hago positionLogin .Top me muestra desde donde esta ubicado hacia abajo y no desde el top de la pagina.

Con jquery intento hacer es, ubicar al lado del textbox la validacion.

Espero haber sido claro.

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 05/04/2015, 02:53
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Problemas con position()

Quizá esto te ayude: http://jsfiddle.net/ujrxywsj/

Código HTML:
Ver original
  1. <div class="contenedor_general">
  2.     <div class="test">
  3.         <span id="resultado">AAAAA</span>
  4.     </div>
  5. </div>

Código CSS:
Ver original
  1. body {
  2.     font-family:Verdana, Arial;
  3.     /*margin:0;*/
  4. }
  5.  
  6. .contenedor_general {
  7.     max-width:400px;
  8.     padding-top:42px; /* Cambia este valor y comprueba el resultado */
  9.     padding-bottom:100px;
  10.     background:#CCC;
  11. }
  12.  
  13. .test {
  14.     max-width:400px;
  15.     padding-top:20px;
  16.     padding-bottom:20px;
  17.     background:#999;
  18.     text-align:center;
  19. }

Código Javascript:
Ver original
  1. var test = $(".test");
  2. var offset = test.offset();
  3. var tope = offset.top;
  4.  
  5. $("#resultado").html('Distancia desde el tope: '+tope+'px');

En el CSS verás que hay un comentario respecto al margen del cuerpo, y es que los JSFIDDLE automáticamente añaden un margen de aprox. 8 píxeles.

Pero sí, marca la distancia correcta aunque el padding sea de 42px (42 + 8 = 50).



Saludos.
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.