X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите повесить на время ожидания контента анимацию
Эдик_hb
Эдик_hb
Topic Starter сообщение 4.12.2011, 21:05; Ответить: Эдик_hb
Сообщение #1


Здравствуйте. Для аснихронного перехода между шагами использую класс
[JS]function AjaxRequest(url, execute) {
var HttpRequest;
var _OnLoad = function () { }
var _OnComplete = function () { }
var _OnError = function () {
/* alert('AJAX query error.'); */
}
var Execute = function (responseText) {
var obj = document.createElement('div');
obj.innerHTML = responseText;
var elts = obj.getElementsByTagName('script');

for(var i = 0; i < elts.length; i++) {
eval(elts[i].text);
elts[i].parentNode.removeChild(elts[i]);
}
}

this.OnLoad = function (fn) {
_OnLoad = fn;
}

this.OnComplete = function (fn) {
_OnComplete = fn;
}

this.OnError = function (fn) {
_OnComplete = fn;
}

this.Post = function (params) {
if(this.RequestPrepare()) {
params = this.StrPrepare(params);
HttpRequest.open('POST', url, true);
HttpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
HttpRequest.setRequestHeader('Content-length', params.length);
HttpRequest.setRequestHeader('Connection', 'close');
HttpRequest.send(params);
}
}

this.Get = function (params) {
if(this.RequestPrepare()) {
url += this.StrPrepare(params);
HttpRequest.open('GET', url, true);
HttpRequest.send(null);
}
}

this.RequestPrepare = function () {
if (window.XMLHttpRequest) { /* Mozilla, Safari,... */
HttpRequest = new XMLHttpRequest();
if (HttpRequest.overrideMimeType) {
HttpRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { /* IE */
try {
HttpRequest = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
HttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {
/* do nothing */
}
}
}

if (typeof HttpRequest == 'undefined') {
alert('Cannot create XMLHTTP instance.');
return false;
}

HttpRequest.onreadystatechange = function(e) {
if (HttpRequest.readyState == 1) {
_OnLoad();
}

if (HttpRequest.readyState == 4) {
if(HttpRequest.status == 200) {
if(execute === true) {
Execute(HttpRequest.responseText);
}
_OnComplete(HttpRequest.responseText);
} else {
_OnError(HttpRequest.status);
}
}
}
return true;
}

this.StrPrepare = function (obj) {
if(obj instanceof Object) {
var i = 0;
var arr = [];
for (var key in obj) {
arr[i++] = encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]);
}
return arr.join('&');
} else {
return '';
}
}
}[/JS]
на главной странице
[JS]function SendData(step,uniq_id,name) {
// создаем новое подключение
var AJAX = new AjaxRequest('work.php?');
// определяем функцию на выполнение запроса
AJAX.OnLoad(myOnLoad);

// определяем функцию на завершение запроса
AJAX.OnComplete(myOnComplete);

// определяем передаваемые переменные
var data = {
'step': step,
'id': uniq_id,
'name':name
}
window.document.step_form.step.value=step;

AJAX.Get(data); // выполняем запрос

return false; // форму не сабмитим
}


function myOnLoad() {
switch(window.document.step_form.step.value){
case "5":{
ge('result').innerHTML ='';
inner="tree";
}
break;
case "6":{
inner="product";
}
break;
default:{
ge('tree').innerHTML ='';
ge('product').innerHTML ='';
inner="result";
}
}
ge(inner).innerHTML = "Загрузка...";
}

function myOnComplete(result) {
switch(window.document.step_form.step.value){
case "5":{
ge('result').innerHTML ='';
inner="tree";
}
break;
case "6":{
inner="product";
}
break;
default:{
ge('tree').innerHTML ='';
ge('product').innerHTML ='';
inner="result";
}
}

ge(inner).innerHTML = (result);
}


function ge(id) {
return document.getElementById(id);[/JS]
Все работает, все отлично, но вот нужно сделать какой-то эффект на время ожидания информации, как-то может небольшое затемнение и анимированную картинку. Подскажите как в данном случае можно это нацепить?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
сообщение 4.12.2011, 23:45; Ответить: pavelsc
Сообщение #2


(Эдик_hb @ 30.11.2011, 01:07) *
Ну просто у меня есть класс для работы, где я могу описать функции при загрузке, ожидании и выполнении. А jquery наверное просто не удалил.

А в прошлой теме вы таки сказали что можете. И еще сказали что можете удалить jQuery при том что драйвер списка полностью на jQuery и написан. Очень упорно просил юзать jQuery без левых AjaxRequest. Вставлять сюда эффекты jquery - то же что и штаны под трусы одевать.
А так: анимированная картинка - это к фотошопу, затемнение это position:fixed с прозрачностью.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Странный трафик на сайте длительное время
33 TABAK 8748 12.4.2024, 5:56
автор: Skyworker
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыA-Parser 1.1 - продвинутый парсер ПС, кейвордов, контента, показателей, 70+ парсеров.
353 Forbidden 279266 11.4.2024, 17:07
автор: AParser_Support
Горячая тема (нет новых ответов) Вы тратите собственное время зря?
35 metvekot 2522 19.3.2024, 20:14
автор: MisterBit
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Дайте бесплатного контента! :)
2 Tia2 999 22.12.2023, 18:53
автор: zyzy


 



RSS Текстовая версия Сейчас: 19.4.2024, 4:39
Дизайн