Как увеличить/уменьшить текущую маржу на число с помощью jquery?
Учитывая элемент с неизвестным margin-left, как увеличить его margin-left на число, скажем, 100px?
Например:
Предполагая, что исходный margin-left равен 100px
ожидаемый результат равен 100px + 100px, и, наконец, 200px.
Ответы
Ответ 1
$('#element-id').css('margin-left', function (index, curValue) {
return parseInt(curValue, 10) + 100 + 'px';
});
curValue будет включать в себя 'px' в конце, поэтому вы получите результат NaN
или 100px100px
в качестве результата без использования parseInt
.
Ответ 2
Быстрый/простой способ сделать это:
$('#IDHere').animate({marginLeft: '+=100px'}, 0);
Вот краткий пример этого. 0
делает это в одном кадре, если вы действительно хотите его оживить, измените 0
на количество миллисекунд, которое вы хотите, like это.
Ответ 3
Вы можете просто достичь этого, используя только .css(см. пример ниже)
$('#element-id').css('margin-left', '+=100px');
Ответ 4
$("p").css({marginLeft: function(index, value) {
return parseFloat(value) + 100;
}});