Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум web-программистов > Форум JavaScript > Форум jQuery

Ответ Создать новую тему
 
Поиск в этой теме
Старый 16.08.2011, 17:38   #1
Karpo
Форумчанин
 
Регистрация: 03.12.2009
Сообщений: 184
Репутация: 5 (6)
По умолчанию Индикатор загрузки

Хочу сделать для ajax загрузок индикатор. С помощью методов ajaxStart и ajaxStop можно инициировать создание индикатора-изображения на одном из DOM элементов, но решение это не универсальное, так как заведомо неизвестно какая часть страницы в данный момент отображается, т.е. непонятно где рисовать индикатор. На Яндекс.Метрике и некоторых других сайтах видел иной тип индикации загрузки страницы. В центре возникает диалоговое окно с индикатором или индикатор без окна, остальная часть страницы затемняется. При этом возможно прокручивание страницы, при котором индикатор остаётся по центру. Подскажите как сделать такой индикатор.
Karpo вне форума
Другие темы раздела Форум программистов JavaScript. Обсуждение JavaScript-фреймворка jQuery.
Ajax запрос отправка данных(json) на сервер и data=type init!? jQuery
Как в этот ajax запрос вставить данные, у меня тут указано data: "type = init", но мне нужно еще 1-у переменную передать, допустим x, куда ее вставлять в таком случае? $.ajax({ url: "myarray.php", type: "post", async: false, data: "type = init", dataType: "json", .... Ajax запрос отправка данных(json) на сервер и data=type init!?
Перестаёт работать jQuery на элементе, подгруженном с помощью ajax
Разметка: <div class = "view"> <div class="comment-view-block" style="display : block"> <a class="data-edit-block-show">Редактировать</a> </div> <div class = "comment-edit-block" style="display : none"> <input class="data-edit-block-unshow" name="but".... Перестаёт работать jQuery на элементе, подгруженном с помощью ajax
Старый 17.08.2011, 01:57   #2
Bomboos
Форумчанин
 
Аватар для Bomboos
 
Регистрация: 04.10.2009
Адрес: шахты
Сообщений: 232
Репутация: 14 (14)
По умолчанию Re: Индикатор загрузки

юзайте JQuery UI, http://jquery.com виджет progressbar
Bomboos вне форума
Старый 17.08.2011, 12:56  [ТС]   #3
Karpo
Форумчанин
 
Регистрация: 03.12.2009
Сообщений: 184
Репутация: 5 (6)
По умолчанию Re: Индикатор загрузки

Bomboos, это не то. Мне не нужен прогресс - бар, мне достаточно крутящегося колёсика. Вся суть в диалоговом окне, которое затемняет задний план, и остаётся на своём месте при скроллинге. Как этого добиться?
Karpo вне форума
Старый 17.08.2011, 14:10   #4
Bomboos
Форумчанин
 
Аватар для Bomboos
 
Регистрация: 04.10.2009
Адрес: шахты
Сообщений: 232
Репутация: 14 (14)
По умолчанию Re: Индикатор загрузки

Цитата Сообщение от Karpo Посмотреть сообщение
Вся суть в диалоговом окне, которое затемняет задний план, и остаётся на своём месте при скроллинге.



JQuery UI виджет dialog его можно сделать модальным т.е. когда он открыт ничего нажать не получиться. Пример: http://jqueryui.com/demos/dialog/#modal-message
Bomboos вне форума
Старый 19.08.2011, 02:11  [ТС]   #5
Karpo
Форумчанин
 
Регистрация: 03.12.2009
Сообщений: 184
Репутация: 5 (6)
По умолчанию Re: Индикатор загрузки

Bomboos, это почти то, что нужно. Но в демке окно при скроллинге смещается вместе со страницей. Нужно, чтобы окно оставалось на месте
Karpo вне форума
Старый 19.08.2011, 07:33   #6
Xander Bass
Йошь
 
Аватар для Xander Bass
 
Регистрация: 22.02.2009
Адрес: СССР
Сообщений: 633
Репутация: 115 (109)
По умолчанию Re: Индикатор загрузки

Код HTML:
Код HTML
1
2
3
4
5
<div class="wrapper" id="loadwnd"><center>
  <div class="wndLoading">
    <img src="loading.gif"/>
  </div>
</center></div>
Стили:
Код CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.wrapper
{
 width: 100%;
 height: 70%;
 padding-top: 30%;
 background: rgba(0,0,0,0.5);
 position: fixed;
 left:0;
 top: 0; 
}
.wndLoading 
{
 width: 30%;
 height: 10%;
 padding-top: 10%;
 background: white;
 border: 1px solid gray;
}
Код js, рассчитанный на исчезновение окошка после полной загрузки страницы:
Код JavaScript
1
2
3
$(function(){
 $('#loadwnd').fadeOut(200);
});
В стилях вместо rgba для большей кроссбраузерности можно подставить PNG-рисунок 1 на 1 пиксель с альфаканалом. Да, и ещё это решение не совсем кроссбраузерно. "Осёл" не понимает значение fixed свойства position.
Xander Bass вне форума
Старый 19.08.2011, 12:36   #7
Bomboos
Форумчанин
 
Аватар для Bomboos
 
Регистрация: 04.10.2009
Адрес: шахты
Сообщений: 232
Репутация: 14 (14)
По умолчанию Re: Индикатор загрузки

Цитата Сообщение от Karpo Посмотреть сообщение
Bomboos, это почти то, что нужно. Но в демке окно при скроллинге смещается вместе со страницей. Нужно, чтобы окно оставалось на месте
Ничего страшного, оно настраивается!

Код JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<script>
    $(function() {
        // a workaround for a flaw in the demo system ([url]http://dev.jqueryui.com/ticket/4375[/url]), ignore!
        $( "#dialog:ui-dialog" ).dialog( "destroy" );
    
        $( "#dialog-modal" ).dialog({
                        draggable : false,
                        resizable : false, 
            height: 140,
            modal: true
        });
    });
    </script>
 

Теперь окошко нельзя будет перетащить, и изменить его размер (растянуть). Это кроссбраузерно по идее)
Миниатюры
Индикатор загрузки  
Bomboos вне форума
Старый 19.08.2011, 13:47   #8
Bomboos
Форумчанин
 
Аватар для Bomboos
 
Регистрация: 04.10.2009
Адрес: шахты
Сообщений: 232
Репутация: 14 (14)
По умолчанию Re: Индикатор загрузки


Не по теме:
Цитата Сообщение от Xander Bass Посмотреть сообщение
Код js, рассчитанный на исчезновение окошка после полной загрузки страницы:
Код JavaScript
1
2
3
4
5
6
7
 
$(function(){
$('#loadwnd').fadeOut(200);
});
 
 
 
Этот код расчитан на исчезновение, не зависимо от статуса загрузки.


$.ajaxStart();
Код JavaScript
1
2
3
4
5
 
 $("#loadwnd").ajaxStop(function(){
   $(this).show();
 });
 
$.ajaxStop();
Код JavaScript
1
2
3
4
5
 
 $("#loadwnd").ajaxStop(function(){
   $(this).hide();
 });
 

Не по теме:
Добавлено через 1 час 8 минут
IE 6.0+, Firefox 3+, Safari 3.1+, Opera 9.6+, and Google Chrome.
Bomboos вне форума
Старый 20.08.2011, 13:51  [ТС]   #9
Karpo
Форумчанин
 
Регистрация: 03.12.2009
Сообщений: 184
Репутация: 5 (6)
По умолчанию Re: Индикатор загрузки

Bomboos, Получается, что элемент #dialog-modal должен заведомо находиться в теле страницы? Я не очень понял как работает библиотека, но не хотелось бы, чтобы в шаблоне был элемент, который вызывается только при ajax запросах. И ещё, раз позиция элемента фиксирована, то окно будет появляться всегда там, где оно прописано, не зависимо от того, в какой части страницы я нахожусь, я правильно понял?
Karpo вне форума
Старый 22.08.2011, 01:11
Yandex
Объявления
Старый 22.08.2011, 01:11  [ТС]   #10
Karpo
Форумчанин
 
Регистрация: 03.12.2009
Сообщений: 184
Репутация: 5 (6)
По умолчанию Re: Индикатор загрузки

Спасибо,разобрался
Karpo вне форума
Старый 22.08.2011, 01:11
РСЯ
Объявления
После регистрации реклама в сообщениях будет скрыта.
Ответ Создать новую тему

Похожие темы
Тема Автор
C++ Builder Cделать индикатор загрузки
Добрый день! Дабы успокоить предполагаемого пользователя во время работы программы хочу сделать индикатор завершения операции. Операция, процесс которой хочу отобразить состоит из цикла, который состоит из 6 циклов, которые состоят из 600 каждый (в которых по 300-действий). Как бы это можно...
Sor
C# для начинающих Индикатор загрузки ЦП
Помогите реализовать c помощью ProcessBar загрузку ЦП. И ProcessBar должен находиться в StatusStrip.
CBOJlO4
C# .NET Индикатор загрузки процессора
Решил написать индикатор загрузки процессора,однако информации в интернете по этому поводу не так-то много. Подскажите, в какую сторону копать!
KillJoy
jQuery Jquery индикатор загрузки.
День добрый. Использую битрикс, на одной странице сайта есть очень большая таблица в контенте. По таблице сделан поиск на Jquery, но он не работает, если пользователь нажмет на кнопку раньше, чем таблица загрузится. Соответственно нужно добавить индикатор загрузки чтоб пользователь знал что нужно...
zoomerland
Delphi: графика, звук, видео Индикатор загрузки документа
Привет всем работникам умственного труда!! Нужна Ваша помощь!) Я загружаю данные из Excel в StringGrid. У меня много данных в Excel. Как мне показать какой нибудь индикатор загрузки данных в StringGrid и сделать так, чтобы пользователь не думал, что программа зависла. Т.е. была возможность...
botaniq09
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Текущее время: 17:22. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2013, vBulletin Solutions, Inc.