-
-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathjs.ajax.load.indicators.txt
57 lines (47 loc) · 2.06 KB
/
js.ajax.load.indicators.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Индикаторы AJAX-загрузки
========================
Используя Yii довольно просто использовать [ajax](http://ru.wikipedia.org/wiki/Ajax) запросы.
Чаще всего необходимо показать пользователю, что запрос находится в процессе
выполнения.
Приведём простой и красивый пример, как этого достичь. Загружаемый элемент
будем отображать с прозрачностью в 80% и картинкой, показывающей, что идёт
загрузка.
Плюс решения в том, что не придётся добавлять дополнительную разметку.
При выполнении запроса будем добавлять класс `.loading` к обновляемому элементу.
После выполнения запроса класс будем убирать.
Добавляем в наш файл отображения:
```php
<?php
echo CHtml::form();
echo CHtml::ajaxButton (
'DoAjaxRequest', // заголовок
'', // url запроса
array (
'beforeSend' => 'function(){
$("#myDiv").addClass("loading");
}',
'complete' => 'function(){
$("#myDiv").removeClass("loading");
}',
)
);
echo CHtml::endForm();
?>
```
Добавим немного CSS к нашим стилям:
```css
div.loading {
background-color: #eee;
background-image: url('loading.gif');
background-position: center center;
background-repeat: no-repeat;
opacity: 1;
}
div.loading * {
opacity: .8;
}
```
---
- `Оригинал`: [http://www.yiiframework.com/doc/cookbook/46/](http://www.yiiframework.com/doc/cookbook/46/)
- `Перевод`: Александр Макаров, Sam Dark ([rmcreative.ru](http://rmcreative.ru/))
- `Обсуждение`: [http://yiiframework.ru/forum/viewtopic.php?f=8&t=205](http://yiiframework.ru/forum/viewtopic.php?f=8&t=205)