2

If the request was successful, my function performs

success: function () {
    $(".success-message").fadeIn(1000).delay(300).fadeOut(1000);
    $('#name').val('Ваше имя').css('color', '#898989');
    $('#phone').val('Ваш телефон').css('color', '#898989');
    $('#email').val('Электронную почту').css('color', '#898989');
    $('#url').val('Ссылку на текущий сайт').css('color', '#898989');
    $('#message').val('Ваши пожелания').css('color', '#898989');
}

how can I add a little delay before this part of script?

$('#name').val('Ваше имя').css('color', '#898989');
    $('#phone').val('Ваш телефон').css('color', '#898989');
    $('#email').val('Электронную почту').css('color', '#898989');
    $('#url').val('Ссылку на текущий сайт').css('color', '#898989');
    $('#message').val('Ваши пожелания').css('color', '#898989');
truslivii.lev
  • 701
  • 1
  • 8
  • 21

2 Answers2

3

like this

success: function () {
    $(".success-message").fadeIn(1000).delay(300).fadeOut(1000);

    // fire after 1 sec.
    setTimeout(function(){

       $('#name').val('Ваше имя').css('color', '#898989');
       $('#phone').val('Ваш телефон').css('color', '#898989');
       $('#email').val('Электронную почту').css('color', '#898989');
       $('#url').val('Ссылку на текущий сайт').css('color', '#898989');
       $('#message').val('Ваши пожелания').css('color', '#898989');

    }, 1000);
}

take a look on setTimeout()

jogesh_pi
  • 9,762
  • 4
  • 37
  • 65
  • I tried this code, but I also have other function for inputs http://jsfiddle.net/9bXmy/ and when I use `setTimeout` to return default values I can't clear value of input on focus and get in inputs values from `setTimeout function` again and again. – truslivii.lev Mar 26 '14 at 11:39
  • @truslivii.lev why you are using this function to just clear the inputs? take a look on this http://stackoverflow.com/questions/7792320/jquery-clearing-form-inputs#answer-7792418 – jogesh_pi Mar 26 '14 at 11:41
  • @truslivii.lev i slightly modify your function, take a look and use it and let me know if its working or not? http://jsfiddle.net/jogesh_pi/bNL4Y/ – jogesh_pi Mar 26 '14 at 11:46
1

You can use setTimeout: http://www.jquery4u.com/jquery-functions/settimeout-example/

 setTimeout(function(){  
   $('#name').val('Ваше имя').css('color', '#898989');
   $('#phone').val('Ваш телефон').css('color', '#898989');
   $('#email').val('Электронную почту').css('color', '#898989');
   $('#url').val('Ссылку на текущий сайт').css('color', '#898989');
   $('#message').val('Ваши пожелания').css('color', '#898989');
 }, 3000);  //do something after 3 seconds
JF it
  • 2,403
  • 3
  • 20
  • 30
  • I tried this code, but I also have other function for inputs http://jsfiddle.net/9bXmy/ and when I use `setTimeout` to return default values I can't clear value of input on focus and get in inputs values from `setTimeout function` again and again. – truslivii.lev Mar 26 '14 at 11:40