Вам не нужно получать с элемента marginLeft, куда лучше, определить переменную positionX, и менять только ее, после каждого изменения назначать в элемент.
UPD: хотя на самом деле, вы делаете все правильно. Только для правой стороны, вы должны писать val--. Также, изменяйте val до назначения его в элемент, а не после, иначе будет придется два раза вправо нажимать, чтобы он сменил направление.
Вот работающий пример
https://jsfiddle.net/v7odsf4q/