2009-11-27 22 views

Respuesta

5

Podría ser que jQuery sea exagerado y marginar el margen izquierdo: -10px hará el truco.

Puede obtener offset() relativa de un elemento en el documento: http://docs.jquery.com/CSS/offset

Eso le daría la izquierda, arriba, etc.

Entonces puede que tenga que colocar el elemento usando el CSS así.

subMenu.css({ 
      position: 'absolute', 
      zIndex: 5000, 
      left: left, 
      top: top 
     }); 
6

Asumiendo que su elemento tiene el id 'myElement':

$('#myElement').css(
{ 
    'position': 'relative', 
    'left': '-10px' 
}); 
8

Aquí está un ejemplo rápido usando jQuery:

$("#el").css({ 
    left: $("#el").position().left - 10 + "px" 
}); 

Nota: el elemento que desea mover debe estar posicionado de manera absoluta o relativa.

+4

o $ ("# El") css ('left', '- = 10px') –

+0

Esto no funcionará si este comando es directamente después de un element.position jQuery UI (. {...}) llamar, desafortunadamente. – HoldOffHunger

0

Dado que ninguna de las otras respuestas son verdaderas soluciones al estilo de jQuery, voy a resucitar este viejo problema.

Esta solución puede mover todos los elementos seleccionados por un valor relativo:

$('.selected').each(function() { 
    $(this).css({ left: $(this).position().left - 10 }); 
}); 
2

A partir de 1.6 Se pueden utilizar valores relativos en css() lo que podría utilizar esto:

$('#myElement).css("left", "+=15"); 

Mientras como el elemento ya tiene un valor definido para left y está absolutamente posicionado.

Ref: http://api.jquery.com/css/

Cuestiones relacionadas