Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Увеличить отступ слева (https://javascript.ru/forum/jquery/56928-uvelichit-otstup-sleva.html)

SKLNSK 10.07.2015 14:03

Увеличить отступ слева
 
Задать отступ слева можно так:

$(filter_data_obj).css('padding-left','50');

Но как увеличить этот отступ, например на 20 пикселей?
Так не работает

$(filter_data_obj).css('padding-left',$(filter_data_obj).css('padding-left')+20);

Infinity178 10.07.2015 14:07

$(filter_data_obj).css('padding-left','50');

$(filter_data_obj).css({
paddingLeft: +=20
});

Safort 10.07.2015 14:10

Нужно чуть внимательней читать документацию. $('какой-то селектор').css('padding-left') возвращает строку содержащую количество_пикселей+'px'.

Исправленный пример http://jsfiddle.net/ps442dhp/

ksa 10.07.2015 14:12

Цитата:

Сообщение от SKLNSK
как увеличить этот отступ, например на 20 пикселей?

Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('button').click(function(){
		var o=$('#test');
		var val=parseInt(o.css('padding-left'));
		val+=20;
		o.css('padding-left',val+'px');
	});
});
</script>
</head>
<body>
<p id='test'>Test</p>
<button>Padding+</button>
</body>
</html>

рони 10.07.2015 18:37

:-?

.css('padding-left',"+=20");

jasper-blondin 11.07.2015 12:45

Можно так:

$(filter_data_obj).css("padding-left", 50);

$(filter_data_obj).css("padding-left", function(indx, val) {
	return parseInt(val) + 20; 
});

рони 11.07.2015 12:47

jasper-blondin,
ещё один :cray:
Цитата:

Сообщение от jasper-blondin
parseInt(val)

нафига ? если можно
Цитата:

Сообщение от рони
,"+=20");


jasper-blondin 11.07.2015 13:00

Цитата:

Сообщение от рони (Сообщение 378620)
.css('padding-left',"+=20");

А как это работает? Не понял.

Safort 11.07.2015 14:31

jasper-blondin,
это же jQuery, там вся магия под капотом.

рони,
Цитата:

нафига ? если можно
рони как обычно доминирует в jQuery-тредах))

рони 11.07.2015 15:25

Цитата:

Сообщение от jasper-blondin
А как это работает? Не понял.

в доке даже пример использования тот же http://api.jquery.com/css/
Цитата:

As of jQuery 1.6, .css() accepts relative values similar to .animate(). Relative values are a string starting with += or -= to increment or decrement the current value. For example, if an element's padding-left was 10px, .css( "padding-left", "+=15" ) would result in a total padding-left of 25px.


Часовой пояс GMT +3, время: 02:46.