Чтение RSS каналов

Форум

Открыть Ответить

Ajax в Open Slaed. Шкала загрузки.

5

5
1
12.09.2010 17:54:48

Вопрос такой. В Open slaed аякс есть, но, в отличии от Про версий, там нет такой штуки, когда в то время, когда юзер нажал кнопку и до появления информации на экране, выводится loading.gif, извещающий о том, что происходит загрузка данных.
В Опене же, при нажатии на элемент, ничего не происходит до тех пор, пока собственно данные не прогрузятся. Минус этого в том, что если у пользователя медленный интернет или если сервер перегружен, данные могут загружаться довольно долго, и, не увидев результатов своего клика, пользователь просто уйдет, не дождавшись загрузки.

Надеюсь ясно что я имею ввиду)))

Как реализовать показ гифки в тот момент, пока данные грузятся?



Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 4
Сервер: Сервер в интернете
3.91

3.91
2
12.09.2010 18:50:4412.09.2010 18:53:49

ты что там фильм 10-гигабайтовый грузишь?

у тебя есть в папке ajax файл load.js ?
есть там такая функция ?

WhenLoading(obj)

3.38

3.38
3
12.09.2010 19:38:18

дада, видел такую, но как её присобачить?)) не могу догнать)

3.91

3.91
4
13.09.2010 08:45:3413.09.2010 08:48:48

для начало эта функция должна выглядеть примерно так

function WhenLoading(obj) {<br /> var e = document.getElementById(&quot;rep&quot;+obj); <br /> e.innerHTML = &quot;&lt;center&gt;&lt;img src=&#092;&quot;images/misc/loading.gif&#092;&quot;&gt;&lt;/center&gt;&quot;;<br /> }


присобачить очень просто

echo "<div id=\"repmyfunc\">".myfunc()."</div>";

3.38

3.38
5
13.09.2010 11:20:5113.09.2010 11:24:24

так она и выглядит.

но что-то все равно не понял =((

id дива с rep должно начинаться? а что дальше?

3.91

3.91
6
13.09.2010 12:47:4413.09.2010 12:52:21

да должно начинаться с rep

что тебе вообше там надо грузить ?

3.38

3.38
7
13.09.2010 13:09:5513.09.2010 13:15:50

у меня по нажатию на ссылку на событие onclick повешан ajax(), соответственно делается запрос в бд и в нужном диве появляется результат запроса. Нужно чтобы пока этот запрос совершается, вывелась надпись типа Подождите, загрузка...

ну вот как здесь, на сайте слаеда, если нажать title в блоке Пользователи, появился процесс загрузки и содержимое обновится... только тут используется какая то замудреная функция LoadGet(), у меня то вообще все проще, через ajax.php...

Событие onclick выглядит так:

onclick=&quot;ajax(&#039;ajax.php&#063;go=5&amp;op=function&#039;, &#039;divname&#039;);&quot;

3.91

3.91
8
13.09.2010 13:16:2913.09.2010 13:32:33

$id = ИД;
$text = "если надо текст";
OnClick=\"LoadGet('', 'myfunc', '2', 'myfunc_save', '$id', '', '', '', '$text'); return false;\"

что делает LoadGet она при нажатие посылает в функцию myfunc_save переменные $id, $text через GET

function myfunc_save(){
$id = $_GET['id'];
$text = $_GET['text'];

запрос

return myfunc()
}




в ajax.php добавь

} elseif($go == 2) {
$ThemeSel = get_theme();
if (file_exists("templates/$ThemeSel/index.php")) {
include("templates/$ThemeSel/index.php");
} else {
include("function/template.php");
}
include("function/no-cache.php");
include("function/function.php"); # файл где находятся функции myfunc() и myfunc_save()..
switch($op) {
case "myfunc":
myfunc();
break;

case "myfunc_save":
myfunc_save();
break;
}
}

я не имел дел с Open slaed но должно быть примерно так
описал как в PRO версии данное делается

3.38

3.38
9
13.09.2010 13:52:5213.09.2010 14:05:46

спасибо.. попробую подразобраться, но очень уж не хотелось бы избавляться от простенькой в обращении ajax()...

а зачем в
OnClick=\"LoadGet('', 'myfunc', '2', 'myfunc_save', '$id', '', '', '', '$text'); return false;\"

написано 'myfunc', если он посылает на myfunc_save ?

3.91

3.91
10
13.09.2010 14:48:10

function myfunc(){
$arg = func_get_args();
$obj = analyze($arg[0]);
$content = "<a href=\"#\" OnClick=\"LoadGet('', 'myfunc', '2', 'myfunc_save', '".$id."', '', '', '', '".$text."'); return false;\">Ссылка</a>";
if ($obj) { return $content; } else { echo $content; }
}

function myfunc_save(){
$text = $_GET['text'];
$id = $_GET['id'];
**запрос**
return myfunc(0);
}


echo "<div id=\"repmyfunc\">".myfunc(1)."</div>";

3.38

3.38
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь