Я пытаюсь увеличить текущее верхнее значение на 3 в javascript/jquery, но ничего не работает.
Вот почему:
$('#searchInput').css('top', $('#searchInput').css('top')+3);
дает мне -22px3
$('#searchInput').css('top', $('#searchInput').css('top')+'3px');
дает мне -22px3px
Я хочу -19px
, но я не могу сделать -19px
потому что тогда я добавлю 3 снова и снова и снова.
Как я могу это сделать правильно?
вам нужно проанализировать текущее верхнее значение на целое число или float, а затем добавить 3 и concat px как строку
попробуйте вот так:
var x = $('#searchInput').css('top');
$('#searchInput').css('top',parseFloat(x)+3+"px");
Если ваша версия jQuery превышает 1.6, вы можете использовать +=
вот так, я считаю:
$('#searchInput').css('top', '+=3');
В противном случае вам нужно будет сделать что-то вроде этого:
var t = $('#searchInput').css('top');
$('#searchInput').css('top', t + 3 + 'px');
Вы можете попытаться проанализировать свое значение, используя parseInt() здесь:
$('#searchInput').css('top', parseInt($('#searchInput').css('top'), 10) + 3 + 'px');
Вы можете сделать это
$('#searchInput').css('top', parseInt($('#searchInput').css('top'), 10) + 3);
$('#searchInput').css( "top", "+=3" );
должен сделать трюк