2011-08-22 46 views
24

Quiero reposicionar un div completo y su contenido de hasta 10-15 píxeles.Cómo mover un elemento div completo hasta x píxeles?

¿Cómo puedo hacer esto?

Nota: este es un elemento deslizante, por lo que cuando hago clic en un botón, el control deslizante se desliza hacia abajo. Una vez que haya terminado, quiero reposicionarlo unos 15 píxeles.

+0

Debe mencionar si actualmente tiene CSS de posicionamiento o no. De esa manera, es posible que pueda modificarlo (por ejemplo, con javascript). –

+3

¿Ha considerado 'posición: relativa; arriba: -15px; '? – Tejs

+0

¿Puedo hacer esto a través de jquery? – codecompleting

Respuesta

35
$('#div_id').css({marginTop: '-=15px'}); 

Esto alterará el css para el elemento con el id "div_id"

Para obtener el efecto deseado recomiendo añadiendo el código anterior a una función de devolución de llamada de la animación (de esa manera el div se puede mover hacia arriba después de la animación es completa):

$('#div_id').animate({...}, function() { 
    $('#div_id').css({marginTop: '-=15px'}); 
}); 

Y, por supuesto, usted podría animar el cambio en el margen de este modo:

$('#div_id').animate({marginTop: '-=15px'}); 

Éstos son los documentos para .css() en jQuery: http://api.jquery.com/css/

Y aquí están los documentos para .animate() en jQuery: http://api.jquery.com/animate/

20
$('div').css({ 
    position: 'relative', 
    top: '-15px' 
}); 
1

En css Esto, unido al elemento:

margin-top: -15px; /*for exact positioning */ 
margin-top: -5%; /* for relative positioning */ 

se puede usar cualquiera de los dos para posicionarse en consecuencia.

Cuestiones relacionadas