как мне отобразить сообщение о загрузке или поиске во время загрузки страницы, затем скрыть сообщение и отобразить сайт?

#jquery

#jquery

Вопрос:

вот сайт, на который я ссылаюсь:http://www.graphicfirm.com/index.php

если вы прокрутите страницу вниз и, например, нажмете на automotive во время загрузки картинок, вы увидите сообщение с надписью searching …. а затем, когда вы нажимаете на картинку, все как бы затемняется, и вы видите загрузку сообщения…

как это делается с помощью jquery / ajax?

поправьте меня, если я ошибаюсь, но это мое лучшее предположение.

 $.ajax({
       url: "ajax.php",
       type: "GET",
       dataType: "json",
       data: "attribute=myvalue",

        beforeSend: function()
        {

            $(".mymessage").show();
            //dim page
        },

        complete: function()
        {

            $(".mymessage").hide();
            //undim page
        },

        success: function(data)
        {

            //load data               

        }

});
  

если я все понял правильно, как бы они затемняли страницу?
если я ошибся, можете ли вы показать мне образец?

Спасибо

Комментарии:

1. Эта ссылка указывает на тестовую страницу apache 🙂

2. попробуйте printfirm.com я не знаю, почему это происходит, но не для меня

3. перейдите к graphicfirm.com/index.php не index.html

Ответ №1:

Посмотрите на: http://malsup.com/jquery/block

Это позволяет блокировать весь сайт во время отображения сообщения вашему пользователю.

Ответ №2:

Вот как вы должны это сделать:

 $(".mymessage").show();
$.ajax({
       url: "ajax.php",
       type: "GET",
       dataType: "json",
       data: "attribute=myvalue",
        success: function(data)
        {
           $(".mymessage").hide();
           //load data
        }
});
  

Поместите $(".mymessage").show(); перед вызовом ajax и скройте его сразу после success выполнения.

Комментарии:

1. вопрос в том, как мне скрыть или затемнить всю страницу?

2. Предполагая, что вся страница заключена в div like <div id="wrapper"> , вы можете сделать это следующим образом: $("#wrapper").css({"opacity":"0.5"}) а затем в success функции вызова ajax сбросить его на 1 следующим образом: $("#wrapper").css({"opacity":"1"})

3. спасибо, позвольте мне попробовать, и я отвечу, если у меня возникнут какие-либо проблемы. примерно так я и думал, что это сработает, но позвольте мне попробовать и посмотреть, что получится.