А можете написать по-подробнее, у меня такая проблема, есть button type="submit" в форме, на этой кнопке у меня анимация при нажатии, но она не успевает сработать из-за моментальной отправки данных на сервер, мне нужно что бы сначала отработала анимация на этом button, а потом произошла отправка данных и перегрузка страницы
Такое можно реализовать разными спосабами. Но допустим.
У вас кнопка:
и сама функция:
var submitFunc = function(btn){
btnAnimate(btn); // это моментальный вызов вашей функции анимации
setInterval(ajaxFunc,3000); // это вызов через 3000 мс функции отправки запроса
}
Но это работает если у вас идёт отправка по AJAX, если отправка стандартным POST запросом из html то не прокатит, переделывайте на AJAX.
Генри: блин, у меня отправка идет из HTML, я просто хочу поставить задержку на отправку формы, что бы успела пройти анимация, которая запустилась при нажатии на эту кнопку, а потом произошла перегрузка страницы
Суть отправки из HTML в том чтобы отправить данные на сервер как моно быстрее. Другого тут быть не может. Вам без js ни как не обойтись.
Нагуглите простенький скрипт отправки на AJAX (желательно на чистом JS без jQuery, чтобы лучше понимать что вы делаете) поставьте его и отправляйте как я вам написал.
Ещё интересно. А как у вас анимация на кнопке без js работает?
kkoshakk: перепиши на аякс: просто на кнопку повесь лисенер, используй e.preventDeafult() описывай свою анимацию, и после в таймауте уже отправляй аякс пост запрос.
Вообще таймауты это прошлый век, надо привыкать использовать колбэки и промисы