jQuery: déplacer un élément par une valeur relative
Question
(ce qui signifie une valeur à gauche d'éléments): Quel est le moyen le plus simple de déplacer un élément - par exemple. 10px à gauche (à partir de sa position actuelle)?
thx
La solution
Il se peut que jQuery soit excessif et que le réglage de marge à gauche: -10px fasse l'affaire.
Vous pouvez obtenir le décalage d'un élément () par rapport au document: http://docs.jquery.com / CSS / offset
Cela vous donnerait la gauche, le haut, etc.
Ensuite, vous devrez peut-être positionner l'élément à l'aide du css, comme ça.
subMenu.css({
position: 'absolute',
zIndex: 5000,
left: left,
top: top
});
Autres conseils
Voici un exemple rapide utilisant jQuery:
$("#el").css({
left: $("#el").position().left - 10 + "px"
});
Remarque: l'élément que vous souhaitez déplacer doit être positionné de manière absolue ou relative.
En supposant que votre élément ait l'id 'myElement':
$('#myElement').css(
{
'position': 'relative',
'left': '-10px'
});
À partir de la version 1.6, vous pouvez utiliser les valeurs relatives dans css ()
pour pouvoir utiliser ceci:
$('#myElement).css( "left", "+=15" );
Tant que l'élément a déjà une valeur définie pour left
et qu'il est positionné de manière absolue.
Etant donné qu'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 d'une valeur relative:
$('.selected').each(function() {
$(this).css({ left: $(this).position().left - 10 });
});