За последние 24 часа нас посетили 19605 программистов и 1607 роботов. Сейчас ищут 1707 программистов ...

show i hide в load

Тема в разделе "JavaScript и AJAX", создана пользователем hust0, 2 май 2016.

  1. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Здравствуйте, не могу разобраться как сделать чтобы при нажатий исчезала кнопка, а потом через 5 сек. появилась.

    Скрипт сейчас работает так- нажимаешь на кнопку, она пропадает и выскакивает сообщение из другого файла (пхп который через load)..

    Код (Javascript):
    1. $(document).ready(function(){
    2.  
    3. $("#sendo").click(function(){
    4.  
    5. тут .load.........
    6.  
    7. $("#sendo").hide(1000);
    8.  
    9. })
    10.  
    11.  
    12. });
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    погодь чувак, а зачем тебе через 5 сек. почему бы не по выполнению ajax запроса возвращать кнопку назад
     
  3. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    там скрипт только в базу заносит, грузит быстро....
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Код (Javascript):
    1. function OnClickMyButton() {
    2.  
    3.     // убираем кнопку
    4.  
    5.     jQuery.ajax({
    6.         // какие то еще данные для ajax Запроса
    7.         success: function(response) {
    8.             // какие то действия
    9.             // возвращаем кнопку
    10.         },
    11.         error: function(response) {
    12.             // какие то действия
    13.             // возвращаем кнопку
    14.         }
    15.     });
    16. }
    как то так

    ну оно действительно требует этих 5 секунд?

    ну а вообще есть такая функция как sleep (точнее setTimeout) в ЖС, используй ее.
     
    #4 VLK, 2 май 2016
    Последнее редактирование модератором: 2 май 2016
    hust0 нравится это.
  5. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    спасибо большое
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Код (Javascript):
    1. function OnClickMyButton() {
    2.  
    3.     // убираем кнопку
    4.  
    5.     // отправляем ajax запрос
    6.  
    7.     setTimeout(function() {
    8.         // возвращаем кнопку
    9.     }, 5000);
    10.  
    11. }
     
    #6 VLK, 2 май 2016
    Последнее редактирование: 2 май 2016
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @VLK в javascript есть sleep?
     
  8. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    denis01 нравится это.
  9. CoolKid

    CoolKid Активный пользователь

    С нами с:
    24 сен 2014
    Сообщения:
    33
    Симпатии:
    5
    Кнопка должна появиться только в случае успешного AJAX запроса?

    Если да, то лучше использовать промисы:

    Код (Javascript):
    1. $(function() {
    2.   var async = function(callback, timer) { //служебная функция для выполнения асинхронных действий через промежуток времени
    3.     var deferred = new $.Deferred();
    4.  
    5.     setTimeout(function() {
    6.       callback.apply(callback);
    7.       deferred.resolve();
    8.     }, timer);
    9.  
    10.     return deferred.promise();
    11.   }
    12.  
    13.   $('#button').hide(); //скрыли кнопку
    14.  
    15.   var sequence = $.when($.ajax({
    16.     url: "http://your-url.com"
    17.   })).then(function() {
    18.     return async(function() {
    19.       $('#button').show();
    20.     }, 5000); //показываем кнопку через 5 сек.
    21.   });
    22.  
    23.   sequence.done(function() { //обработчик если все хорошо
    24.     console.log('Все действия успешно выполнены');
    25.   });
    26.  
    27.   sequence.fail(function() { //обработчик если все плохо
    28.     console.log('Что-то пошло не так...');
    29.   });
    30.  
    31.   sequence.always(function() {
    32.     console.log('Это выполнится всегда в любом случае');
    33.   });
    34. });
     
    hust0 нравится это.
  10. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    спасибо большое, я уже разобрался.