2009-11-27 5 views

Répondre

5

Il se peut que jQuery soit trop puissant et que vous définissiez une marge gauche: -10px fera l'affaire.

Vous pouvez obtenir un décalage de l'élément() par rapport au document: http://docs.jquery.com/CSS/offset

Ce serait vous donner la gauche, en haut, etc.

Ensuite, vous devrez peut-être positionner l'élément en utilisant le CSS comme ça.

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

supposant que votre élément a l'id 'myElement':

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

Voici un exemple rapide en utilisant jQuery:

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

Note: l'élément que vous souhaitez déplacer doit soit être positionné absolument ou relativement.

+4

ou $ ("# el") BAE ('left', '- = 10px') –

+0

Cela ne fonctionnera pas si cette commande est directement après une element.position JQuery UI (. {...}) appelez, malheureusement. – HoldOffHunger

0

Puisque aucune des autres réponses ne sont de véritables solutions de style jQuery, je vais ressusciter cet ancien problème.

Cette solution peut déplacer tous les éléments sélectionnés par une valeur relative:

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

Au 1.6 vous pouvez utiliser les valeurs relatives à css() vous pouvez donc utiliser:

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

Tant comme l'élément a déjà une valeur définie pour left et est absolument positionné.

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

Questions connexes