Технический сбой

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

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


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

вопрос
Здравствуйте. Кратко говоря, имеется кнопка:
<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 - -

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

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


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


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

Pringles
Юзер

Pringles - -

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

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

strukov
Юзер

strukov - -

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

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

наверх