Чтение 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.92

3.92
2
12.09.2010 18:50:4412.09.2010 18:53:49
ты что там фильм 10-гигабайтовый грузишь?

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

WhenLoading(obj)
3.63

3.63
3
12.09.2010 19:38:18
дада, видел такую, но как её присобачить?)) не могу догнать)
3.92

3.92
4
13.09.2010 08:45:3413.09.2010 08:48:48
для начало эта функция должна выглядеть примерно так

function WhenLoading(obj) {
var e = document.getElementById("rep"+obj);
e.innerHTML = "<center><img src=\"images/misc/loading.gif\"></center>";
}


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

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

3.63
5
13.09.2010 11:20:5113.09.2010 11:24:24
так она и выглядит.

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

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

3.92
6
13.09.2010 12:47:4413.09.2010 12:52:21
да должно начинаться с rep

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

3.63
7
13.09.2010 13:09:5513.09.2010 13:15:50
у меня по нажатию на ссылку на событие onclick повешан ajax(), соответственно делается запрос в бд и в нужном диве появляется результат запроса. Нужно чтобы пока этот запрос совершается, вывелась надпись типа Подождите, загрузка...

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

Событие onclick выглядит так:
onclick="ajax('ajax.php?go=5&op=function', 'divname');"
3.92

3.92
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.63

3.63
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.92

3.92
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.63

3.63
Открыть Ответить
openкогдаslaedсерверпоказпроисходитинтернетпользователятакойзагрузкиимеюмедленныйданныепокаесли
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

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

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