Конечно, они перезаписывают, посмотрите, что вы там делаете:
if(direction !== 'leftnav') direction = 'leftnav';
if(direction == 'leftnav') direction = 'rightie';
Первый оператор устанавливает direction
в значение leftnav, если это что-то еще.Таким образом, к тому времени, когда вы дойдете до второго утверждения, direction
всегда будет 'leftnav'.Вы хотели сказать else if
вместо if
за секунду?