1. Даже если в css не задавать элементу margin-left, то это значение в любом случае будет равно 0.
2. Двигать блок можно и с помощью
position() (относительно родителя) или
offset() (относительно документа)
Посмотреть
Смотрите ещё раз мой пример, я минимизировал его (было много лишнего), и ищите конфликт с остальным кодом всего Вашего скрипта. В консоли, кроме ошибки, отображается и номер строки скрипта, на которой произошла ошибка.
Ещё проверьте, чтоб например не было двух разных глобальных переменных с именем
margin. Поэтому в моём примере может работать а в Вашем нет.