Это просто перестраховка, на случай если в коде перед плагином не поставили точку с запятой. Интерпритатор их сам расставляет, но в некоторых ситуациях может поставить неправильно. https://learn.javascript.ru/structure#semicolon
А еще лучше делать вот так, добавлять хэши в имя файла.
В некоторых случаях GET-параметры могут не учитываться бразузером или сетью, в которой расположен пользователь. Поэтому надежнее делать меняющимся название или путь до файла
Добавь класс, что-то типо .is-active, с такими же правилами как и для :hover эффекта.
А скриптом обрабатывай наведение мыши на соседние блоки. Если курсор над блоком убирай класс .is-active и убирай обработку события.
$("#my_form").submit(function (event) {
var that = this;
event.preventDefault();
setTimeout(function () {
that.submit(); //создать замыкание с формой
}, 200);
});