Показ мод загрузки не скрывается - PullRequest
0 голосов
/ 24 сентября 2019

Мне нужно сообщение о прогрессе загрузки после завершения выбора SQL.У меня есть код из интернета, но модал не прячется после окончания загрузки.Мне нужна такая концепция.Есть ли какой-нибудь код, который может помочь мне сделать сообщение о прогрессе загрузки после того, как я выбрал запрос ... моя проблема в том, что когда я выбираю слишком много данных в SQL, происходит стремительная загрузка, поэтому мне нужно сообщение о прогрессе, показывающее, что процесс выбора данныхвыполняется / выполняется рендеринг из базы данных.

Это код из Интернета, который я сейчас пытаюсь исправить, но есть ошибка, которую модал не скрывает после завершения загрузки.

       <style type="text/css">
    .modal
{
    position: fixed;
    top: 0;
    left: 0;
    background-color:Black;
    z-index: 99;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    min-height: 100%;
    width: 100%;
}
.loading
{
    font-family: Arial;
    font-size: 10pt;
    border: 5px solid #67CFF5;
    width: 200px;
    height: 100px;
    display: none;
    position: fixed;
    background-color: White;
    z-index: 999;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    function ShowProgress() {
        setTimeout(function () {
            var modal = $('<div />');
            modal.addClass("modal");
            $('body').append(modal);
            var loading = $(".loading");
            loading.show();
            var top = Math.max($(window).height() / 2 - loading[0].offsetHeight / 2, 0);
            var left = Math.max($(window).width() / 2 - loading[0].offsetWidth / 2, 0);
            loading.css({ top: top, left: left });
        }, 200);
    }
    $('form').live("submit", function () {
        ShowProgress();
    });

</script>

1 Ответ

0 голосов
/ 25 сентября 2019

Прежде всего, live устарела вместо этого используйте 'on'.

Далее, что происходит в вашем коде, это то, что вы добавляете свой модал к телу и показываете егос помощью jquery show при отправке формы .

Вы можете заметить, что нет кода, который удаляет / скрывает ваш модал.У вас есть множество вариантов сделать это.Вам нужно будет либо получить ваш модал при удалении или скрытии, либо сохранить его в переменной внутри функции ShowProgress:

  • УдалитьВаш модальный из документа.
  • Скрыть ваш модальный с помощью jquery hide().
  • Добавить или удалить классы или стили CSS.

Теперь есть третийпроблема, которая может произойти: вы не знаете, когда форма будет отправлена.Что хорошо ... это никогда не произойдет, если вы не изменили что-то еще с помощью другого кодаФорма отправки по умолчанию отправляет запрос по назначению.Поэтому обычно пользователь будет перенаправлен, а необходимость скрыть модальный режим отсутствует.

Я не думаю, что было бы полезно показывать какие-либо примеры кода о том, как это сделать здесь, так какне похоже, что вы пытались понять код, который вы взяли из интернета.Я действительно считаю, что этого ответа достаточно, чтобы указать вам правильный поиск Google

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...