Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не работает сложение (https://javascript.ru/forum/misc/60525-pochemu-ne-rabotaet-slozhenie.html)

mrbanan 05.01.2016 12:24

Почему не работает сложение
 
Обновляю левый отступ в css на лету:

Так всё работает:
var value = 10;
value = +value + +1; 							 
...
css.style.left =value+'px';


Так не работает:
var value = 10;						 
...
css.style.left = +value + +1 +'px';

рони 05.01.2016 12:30

mrbanan,
вы что-то не договариваите

mrbanan 05.01.2016 12:58

Недоговариваю? ))
Тогда вот 2 кода:
Раз https://jsfiddle.net/ut26sh3w/4/
Два https://jsfiddle.net/kj84sLuf/
Разница в них ТОЛЬКО в 16 и 18 строчке, но первый работает а второй нет. Выходит во втором коде ошибка в:
css.style.left = +left + +2 +'px';

Но что конкретно тут ему не нравится?

рони 05.01.2016 13:13

mrbanan,
нет у вас никаких ошибок, просто во втором случае left у вас никак не меняется

рони 05.01.2016 13:17

mrbanan,
https://jsfiddle.net/kj84sLuf/1/

mrbanan 05.01.2016 13:20

А да точно всё понял, он всегда берёт первый 0 всегда прибавляет к нему 2 и он всегда 2...
Благодарю вас рони!

P.S. Странная система форума говорит что я должен поблагодарить кого-то ещё типа 2 раза подряд одного нельзя я так понял...

mrbanan 05.01.2016 13:27

А ну да, вы перенесли получение значение внутрь интервала, я не стал это делать т.к. полагал что в этом случае будет потребляться больше системных ресурсов если она значение css каждый раз заново будет парсить и очищать.

рони 05.01.2016 13:39

Цитата:

Сообщение от mrbanan
в этом случае будет потребляться больше системных ресурсов

да поэтому ваш первый вариант лучше


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