| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Создание DIV'а с помощью JavaScript'а |
| Автор: dsy 27.12.2006, 14:11 | ||
| Здравствуйте! Есть таблица результатов. Кликаю по столбцу - выполняется сортировка всей таблицы. В этом момент мне нужно что-то писать юзеру. Хочу сделать див с инфой, чтобы он появлялся сразу после клика по столбцу таблицы и исчезал по окончании сортировки. Я создаю его:
Но эта функция затирает все содержимое. Подскажите, пожалуйста, как мне сделать, чтобы этот див появлялся поверх всего содержимого? Спасибо. P.S. Дело в том, что его нужно создавать именно JavaScript'ом, а не делать его невидимым, а потом визуализировать. |
| Автор: JSman 27.12.2006, 14:19 | ||
первоначальное создание diva можно сделать так
|
| Автор: dsy 27.12.2006, 14:26 |
| В P.S. написано, что нужно это сделать на JavaScript'e! У меня много страниц используют сортировку. Мне на каждой придется писать такой див, как Вы предлагаете?! |
| Автор: Sardar 27.12.2006, 15:00 |
| JSman, ты больше такого не предлагай dsy, для создания элемента читаем что ест http://w3.org/DOM и по форуму ищем document.createElement - это самый используемый функционал в JS. А вообще лучше отдавай сообщение о загрузке сразу вёрсткой, скрытой (visibility: hidden), как что делаешь, так и показывай его. Вбей "visibility" или "display" в поиск. |
| Автор: dsy 27.12.2006, 15:46 |
| Простите, не понял. Как отдавать сообщение? Можно поподробней? |
| Автор: Sardar 27.12.2006, 16:05 |
| Просто вместе со страницей сгенери свой слой с чем угодно, но стилями скрой (display: none; или visibility: hidden). Затем когда окошко нужно показать, просто достаёшь его по document.getElementById("id элемента").style.(display или visibility) = ("block" или "visible"); |
| Автор: dsy 27.12.2006, 16:36 |
| Этот вариант был бы самым простым, была бы у меня 1-2 страницы. Но у меня их 50-100, дальше - больше. Поэтому мне и нужен JavaScript. |
| Автор: Sardar 27.12.2006, 17:31 | ||
Я думал у тебя на сервере скрипты стоят. ОК, тогда как уже говорил выше:
Простейший вариант. Нормальное позиционирование по середине выдерни из любого скрипта, хоть на этом форуме. |
| Автор: dsy 27.12.2006, 17:36 |
| спасибо. это у меня получилось. А как теперь вывести этот DIV без обновления страницы? И заглушить его также без обновления? |
| Автор: Sardar 28.12.2006, 01:40 |
| dsy, ты шутишь или вправду сел впервые за JS сегодня? http://forum.vingrad.ru/index.php?showtopic=129560&view=findpost&p=977319 Создай функцию, пусть изменяет style.display, будет соответственно исчезать и появляться. |
| Автор: dsy 29.12.2006, 10:53 | ||||
| Хорошо. У вас все работает на простом примере - у меня тоже. А теперь реальная ситуация.
Дальше идет просто таблица с кучей записей:
Так вот. Дело все в том, что этот div появляется только после того, как закончена сортировка. А мне-то надо, чтобы он появлялся ДО нее! Вот в чем проблема-то. |
| Автор: 12345c 29.12.2006, 12:28 |
| Ошибка в комментарии к 5-й строчке. Задержка нужна, чтобы див смог прорисоваться. Иначе, он даже не возникнет или выскочит на мгновение после сортировки. Добавлено @ 12:29 (Задержка - это setTimeout.) |
| Автор: dsy 29.12.2006, 12:43 |
| Понял, спасибо! |