Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jQuery и загрузка в div
 
 автор: kailDeSazerland   (01.08.2008 в 18:09)   письмо автору
 
 

Пожалуйста помогите. Надо сделать загрузку в div через jQuery, пока грузиться надо отображать другой слой типа "инфа грузиться - ждите".
на странице есть два div - первый фформа, второй - картинка и текст инфа грузиться...
Как сделать?

  Ответить  
 
 автор: Desh   (01.08.2008 в 21:18)   письмо автору
 
   для: kailDeSazerland   (01.08.2008 в 18:09)
 

Если правильно понял, то надо сделать так:
1. По событию onload выполняется функция, которая выводит информацию в нужный div (этому div`у даёшь свой id).
2. В нужном диве делаешь ещё один див с id допустим download и туда пихаешь анимацию с надписью "Загрузка" (ну или какую хочешь) или вместо анимации вставляешь просто текст.
3. В функции, которая выводит информацию в нужный div прописываешь инструкции для вывода нуной инфы в этот div и в конце функции дописываешь

document.all.id-второго-дива.style.display = "none";


Вроде делается так, по крайней мере как-то делал наподобие сам и всё работало. Если надо, могу скинуть код.

  Ответить  
 
 автор: kailDeSazerland   (02.08.2008 в 08:27)   письмо автору
 
   для: Desh   (01.08.2008 в 21:18)
 

Очень буду благодарен, если скинешь код

  Ответить  
 
 автор: Desh   (02.08.2008 в 11:03)   письмо автору
 
   для: kailDeSazerland   (02.08.2008 в 08:27)
 

1. Создаём в нужном месте два div`a:

<div id="downloaddiv"> // div, в который будет загружаться информация
<div id="downloadtext"> // div, в котором будет отображаться текст, что инфонрамация грузится
Загрузка...
</div>
</div>

2. В <body> пишем onload="javascript: downloadfunc(); ", получается так:

<body onload="javascript: downloadfunc(); "> // помимо onload в <body> могут быть и другие его атрибуты

3. Пишем три функции на JS, которые и будут осуществлять загрузку (я так понял jQuery нужна для испольхования Ajax), вывод в div + функцию определения браузера, т.к. нам необходимо использовать в функции загрузки информации innerHTML, которая в IE работает немного некорректно и вместо неё для IE6 используем outerHTML, а для остальных браузеров используем innerHTML(т.к. в Firefox outerHTML не работает). Их лучше поместить в отдельный js файл и просто подключить в заголовке в HTML-коде:

// Функция определения IE
function detectIE()
{
 var agent = navigator.userAgent.toLowerCase();
 var i = agent.indexOf('msie');

 if (i != -1) return parseFloat(agent.slice(i+5))
 return false;
}

// Функция вывода информации в div
function viewdiv(data)
{
 var block = document.getElementById('downloaddiv');
 var IEVersion = detectIE();
 if(IEVersion)
 {
  block.outerHTML += data;
 }
  else
 {
  block.innerHTML += data;
 }
 document.all.downloadtext.style.display = "none";
}

// Функция, которая загружает информацию
function downloadfunc()
{
 $.post('handler.php', { lib: 0 }, viewdiv);
}

Где функция downloadfunc посредством Ajax ображается к php-файлу handler.php (в нём вы можете прописать необходимые инструкции, которые могут возвращать текст из базы данных к примеру), а функция viewdiv выводит полученную информацию в div а в конце делает невидимым див с надписью "Загрузка". Самая первая функция (detectIE) определяет, является ли браузер IE или нет.

Вроде так. Если что-то не будет работать или нужно будет по немного по-другому организовать, то пишите) Но основу дал, подобный пример использовал в своих целях и всё работало.

  Ответить  
 
 автор: kailDeSazerland   (02.08.2008 в 11:14)   письмо автору
 
   для: Desh   (02.08.2008 в 11:03)
 

Все клево! спа! А как указать в какой кодировке подгружаемая инфа

  Ответить  
 
 автор: Desh   (02.08.2008 в 11:23)   письмо автору
 
   для: kailDeSazerland   (02.08.2008 в 11:14)
 

Если не изменяет память, то надо указать кодировку с помощью <meta> в php-файле при выводе информации. Или в основном HTML-файле. У меня лично при указании кодировки в <meta> в основном HTML-файле всё выводилось как надо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования