jQuery:переместить элемент по относительному значению
Вопрос
(имеется в виду левое значение элемента):какой самый простой способ переместить элемент - например.10 пикселей влево (от текущего положения)?
спасибо
Решение
Возможно, jQuery является излишним и устанавливает левое поле:-10px поможет.
Вы можете получить смещение() элемента относительно документа: http://docs.jquery.com/CSS/offset
Это даст вам левое, верхнее и т. д.
Тогда вам, возможно, придется позиционировать элемент с помощью CSS следующим образом.
subMenu.css({
position: 'absolute',
zIndex: 5000,
left: left,
top: top
});
Другие советы
Вот краткий пример использования jQuery:
$("#el").css({
left: $("#el").position().left - 10 + "px"
});
Примечание:элемент, который вы хотите переместить, должен быть позиционирован абсолютно или относительно.
Предполагая, что ваш элемент имеет идентификатор «myElement»:
$('#myElement').css(
{
'position': 'relative',
'left': '-10px'
});
Начиная с версии 1.6 вы можете использовать относительные значения в css()
поэтому вы можете использовать это:
$('#myElement).css( "left", "+=15" );
Пока элемент уже имеет определенное значение для left
и абсолютно позиционируется.
Ссылка: http://api.jquery.com/css/
Поскольку ни один из других ответов не является истинным решением в стиле jQuery, я воскрешу эту старую проблему.
Это решение может перемещать ВСЕ выбранные элементы на относительное значение:
$('.selected').each(function() {
$(this).css({ left: $(this).position().left - 10 });
});