Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Почему не работает jquery.hide() ?  [new]
listtoview
Member

Откуда:
Сообщений: 2314
$loader появляется
а скрывается только при нажатии OK в диалоге r = confirm("Готово!");
Хотя команда $loader.hide(); расположена перед показом диалога
Почему так?

// user archive export
function onExportArchiveUserClick(e) {
    var r = confirm("Выгрузить сотрудника в мираполис?");
    if (r == true) {

        var $loader = $(e).closest('[data-emp-block="true"]').find('[data-id="loader"]');
        $loader.show();

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: '/Mirapolis/ExportArchiveUser',
            data: { emp_id: $(e).closest('[data-emp-block="true"]').attr('data-emp-id') },
            //async: false,
            success: function (data) { 
                $loader.hide();
                r = confirm("Готово!");                
                window.location.reload();
            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(textStatus);
            }
        });

        //$loader.hide();
    }
}
30 июн 20, 17:00    [22159840]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
listtoview
Member

Откуда:
Сообщений: 2314
Разметка:

<div id="ui-id-1" class="ui-dialog-content ui-widget-content" style="display: block; width: auto; min-height: 77px; max-height: none; height: auto;">
    <div data-emp-block="true" data-status="" data-emp-id="cf93a4f9-656e-11e8-b8f6-18a90550aa54">        
        <a href="javascript:void(0);" onclick="onExportArchiveUserClick(this);">Выгрузить в мираполис в архив</a>
        <br>
        <a href="javascript:void(0);" onclick="onActiveArchiveUserClick(this);">Активировать</a>
        <br>
        <a href="javascript:void(0);" onclick="onArchiveActiveUserClick(this);">Переместить в архив</a>
        <br>
        <a href="javascript:void(0);">Отправить письмо</a>
        <br>
        <a href="javascript:void(0);" onclick="onDeleteUserClick(this);">Удалить</a>
        <br>
        <span>Статус: </span><span>Не выгружен</span>
        <br>
        <span>Логин: </span><span></span>
        <br>
        <span>Пароль: </span><span></span>
        <br>
        <img src="/Content/img/pic/ajax-loader.gif" data-id="loader" style="display:none;">
    </div>
</div>
30 июн 20, 17:02    [22159842]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
listtoview
Member

Откуда:
Сообщений: 2314
Воспроизводится в Хроме и Опера
а в ИЕ 11 работает нормально
30 июн 20, 17:04    [22159843]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
listtoview,

исходники jQuery открыты, возьми да посмотри, почему так
вангую, что там внутри таймаут используется для реализации какого-нибудь эффекта плавного закрытия
30 июн 20, 20:21    [22159954]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
listtoview
Воспроизводится в Хроме и Опера
а в ИЕ 11 работает нормально

про Event Loop слышал?
30 июн 20, 20:29    [22159959]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
listtoview
Member

Откуда:
Сообщений: 2314
Дмитрий Мух
listtoview
Воспроизводится в Хроме и Опера
а в ИЕ 11 работает нормально

про Event Loop слышал?

не, пробовал
async: false
тож самое

а в ИЕ работает по всякому)
что то с событиями
2 июл 20, 09:46    [22160591]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
listtoview
Дмитрий Мух
пропущено...

про Event Loop слышал?

не, пробовал
async: false
тож самое

а в ИЕ работает по всякому)
что то с событиями

мда... забавный случай

повторю ещё раз...

исходники jQuery открыты, возьми да посмотри, почему так
вангую, что там внутри setTimeout используется для реализации какого-нибудь эффекта плавного закрытия

Сообщение было отредактировано: 2 июл 20, 12:54
2 июл 20, 12:55    [22160797]     Ответить | Цитировать Сообщить модератору
 Re: Почему не работает jquery.hide() ?  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
А для общего развития например вот: Что ты такое, Event Loop? Или как устроен цикл событий в браузере Chrome.
2 июл 20, 12:59    [22160806]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить