jQuery:переместить элемент по относительному значению

StackOverflow https://stackoverflow.com/questions/1806246

  •  05-07-2019
  •  | 
  •  

Вопрос

(имеется в виду левое значение элемента):какой самый простой способ переместить элемент - например.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 });
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top