Здравствуйте, не могу разобраться как сделать чтобы при нажатий исчезала кнопка, а потом через 5 сек. появилась. Скрипт сейчас работает так- нажимаешь на кнопку, она пропадает и выскакивает сообщение из другого файла (пхп который через load).. Код (Javascript): $(document).ready(function(){ $("#sendo").click(function(){ тут .load......... $("#sendo").hide(1000); }) });
погодь чувак, а зачем тебе через 5 сек. почему бы не по выполнению ajax запроса возвращать кнопку назад
Код (Javascript): function OnClickMyButton() { // убираем кнопку jQuery.ajax({ // какие то еще данные для ajax Запроса success: function(response) { // какие то действия // возвращаем кнопку }, error: function(response) { // какие то действия // возвращаем кнопку } }); } как то так ну оно действительно требует этих 5 секунд? ну а вообще есть такая функция как sleep (точнее setTimeout) в ЖС, используй ее.
Код (Javascript): function OnClickMyButton() { // убираем кнопку // отправляем ajax запрос setTimeout(function() { // возвращаем кнопку }, 5000); }
Кнопка должна появиться только в случае успешного AJAX запроса? Если да, то лучше использовать промисы: Код (Javascript): $(function() { var async = function(callback, timer) { //служебная функция для выполнения асинхронных действий через промежуток времени var deferred = new $.Deferred(); setTimeout(function() { callback.apply(callback); deferred.resolve(); }, timer); return deferred.promise(); } $('#button').hide(); //скрыли кнопку var sequence = $.when($.ajax({ url: "http://your-url.com" })).then(function() { return async(function() { $('#button').show(); }, 5000); //показываем кнопку через 5 сек. }); sequence.done(function() { //обработчик если все хорошо console.log('Все действия успешно выполнены'); }); sequence.fail(function() { //обработчик если все плохо console.log('Что-то пошло не так...'); }); sequence.always(function() { console.log('Это выполнится всегда в любом случае'); }); });