Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Задержка выполнения button, как реализовать?

Задержка выполнения button, как реализовать?


     29.05.2016    Общие вопросы по вёрстке, jQuery    3468

вопрос
Здравствуйте. Кратко говоря, имеется кнопка:
<input type="submit" name="do1" value="Далее" class="but"/>


Также имеется скрипт, который делает класс okno, который переходит в display:block при нажатии на кнопку и сам исчезает (display none) через 3.5сек.
$("input.but").click(function () {
    $(".okno").fadeIn(500),
    setTimeout('$(".okno").fadeOut(2500)', 3500);
});


Это работает когда к функции прикручен ajax. Есть необходимость поставить этот-же скрипт на кнопку без ajax, т.е. нужно:
Чтобы при нажатии на кнопку сначала выполнялся скрипт, а переход (отправка данных с формы) происходила после выполнения скрипта. Подскажите пожалуйста как реализовать

Ответил: Pringles


3 комментария

strukov
Юзер

strukov - 29 мая 2016 17:11 -

Не подходит, либо у меня не выходит. думаете я не смотрел чтоле?

Прописываю к кнопке
onclick="myFunction()"


в <sctipt> пишу:
<script>
function myFunction() {
    setTimeout(function(){ alert("Hello"); }, 3000);
}
</script>


После нажатия кнопки у меня сразу-же идет передача данных с формы и отправляет на другую страницу. Т.е. скрипт не задерживает передачу данных

Pringles
Юзер

Pringles - 29 мая 2016 17:17 -

Решение то, но вы учитывайте, что если вы отправляете форму, то у вас есть событие submit

<script>
$('#contact_form').submit(function (e) {
    var form = this;
    e.preventDefault();
    setTimeout(function () {
        form.submit();
    }, 1000); // in milliseconds
});
</script>

strukov
Юзер

strukov - 29 мая 2016 17:20 -

Спасибо :) Всё работает!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх