Вы пропустили точку с запятой после top:
:
$('#road').append('<div class=\"bumper\" style=\"left:'+left+'; top:'+top+';\"></div>');
Кроме того, вам не нужно экранировать двойные кавычки в строках с одинарными кавычками, вам нужно только экранировать кавычки внутри строк, если сама строка использует этот тип кавычек.
$('#road').append('<div class="bumper" style="left:'+left+'; top:'+top+';"></div>');
EDIT:
Из тестирования может показаться, что с последней точкой с запятой или без нее мой браузер (Chrome) не жалуется. Однако совет здесь гласит:
Вы должны всегда включать точку с запятой после правила, даже если вы
только создание одного правила. Правда, одно правило будет работать большую часть
время, если вы забудете точку с запятой, но результаты могут быть непредсказуемыми в
некоторые случаи. Это также хорошая привычка. Если вы всегда включаете
точка с запятой для отдельных правил, меньше шансов, что вы оставите один
где это необходимо в качестве разделителя правил при создании нескольких
правила для одного селектора.
Это может быть, а может и не быть проблемой, специфичной для браузера, если это действительно проблема.