div'ное окноСразу скажу, что речь пойдет не о надоедливых так называемых popup window, расшатывающих нашу нервную систему бестолковой рекламой. Вообще я сторонник того, чтобы на web странице происходили только события инициированные самим пользователем, т.е. никаких popup'ов, reload'ов, перенаправлений и т.д. Речь пойдет о тех случаях, когда использование дополнительных окон понастоящему оправдано, красиво и не вредит юзабилити. Например, окно входа в личный кабинет, окно настроек web приложения, окно оповещения и т.п. Во всех подобных случаях открытие еще одного окна браузера не элегантно, а вот слой div смотрится гораздо приятнее. А если его еще и открыть эффектно ... И здесь нам помогут JavaScript, CSS и HTML (куда ж без него).div окно основыСамое простое окно:
Это - div'ное окно!Нажали?! А как закрывать будем? Вот так вот! У нас в России всегда так - сначала нажмем на кнопку, а потом инструкцию до конца дочитываем. Ну ладно, refresh'тесь и продолжим. Как уже стало ясно, неплохо было бы добавить возможность закрыть окошко:
Х
Это - div'ное окно!Ну вот, это уже неплохо. Переходим к эффектному появлению. разворачивающееся div окноОбъяснять не буду - кто захочет разберется.
var sStep = 16;
var sTimeout = 15;
var sLeft = 160;
var sRight = 160;
var wObj;
function winOpen() {
wObj.style.display = 'block';
if (sLeft > 0) {
sRight += sStep;
sLeft -= sStep;
var rect = 'rect(auto, '+ sRight +'px, auto, '+ sLeft +'px)';
wObj.style.clip = rect;
setTimeout(winOpen, sTimeout);
}
}
function winClose() {
if (sLeft < sRight) {
sRight -= sStep;
sLeft += sStep;
var rect = 'rect(auto, '+ sRight +'px, auto, '+ sLeft +'px)';
wObj.style.clip = rect;
setTimeout(winClose, sTimeout);
}
else wObj.style.display = 'none';
}
Х
Это - div'ное окно!плавно появляющееся div окно
function appear() {
if(op < 1) {
op += 0.1;
wObj.style.opacity = op;
wObj.style.filter='alpha(opacity='+op*100+')';
t = setTimeout('appear()', 30);
}
}
Х
Это - div'ное окно!
Комментарии:Johnny 08.07.08 в 17:09 Блин, мужики, клёвый сайт! Однозначно в закладки! zerohold 12.07.08 в 22:07 Супер. Понравилось сразу danko-13 04.08.08 в 23:57 Молодец! Хороший сайт! Тоже в закладки! Гость 18.08.08 15:30 Да, можно ещё добавить информацию о том как сделать такое окно перетаскиваемым? beast 08.09.08 19:38 на всякого мудреца довольно простоты - простота это классно Спасибо Яков 10.09.08 23:03 \"Нажали?! А как закрывать будем? Вот так вот! У нас в России всегда так - сначала нажмем на кнопку, а потом инструкцию до конца дочитываем. Ну ладно, refresh\'тесь и продолжим.\" Точняк, так и есть ))) Спасибо, не нужно самому карячиться с кодом virua 01.10.08 12:28 Бесспорно полезная статья. Особенно для тех, кто пока не имеет своих заготовок или для тех, кому быстро нужно сделать окно на DIV\'ах. Карэн 10.11.08 16:41 Автор спасибо за хорошее изложение! Очень благодарен. В закладки) TyTa 20.11.08 13:04 Спасибо... Благодаря вам я почистилсвои закладки. ОТ БАРАХЛА. Здесь нашел все что нужно! AltEgo 22.11.08 13:15 Ребята, большое спасибо. На сайте собрана очень полезная информация, и главное она изложена в удобной и доступной для понимания форме frost_asm 27.01.09 13:08 Красиво и просто. Спасибо) Илья 19.02.09 20:35 НУ НАКОНЕЦТА НАШЁЛ КАК ЭТО ДЕЛАТЬ!!!! Спасибон ребята! Рома 07.04.09 15:55 Ну объясните для особенных, куда вставлять последние два кода? Alek Veritov 07.04.09 16:46 to Рома: посмотреть можно в исходном коде этой страницы 4KN 08.04.09 19:47 Аааарррр, я чайник!! Скажите,куда последние два вставлять?! anonymous 25.04.09 14:03 А как на счет блокировки скролинга и div'ное окно по центру Beagler 24.05.09 10:26 прикольно Вас копипастят - http://persheron.net/index.php?option=com_content&task=view&id=37&Itemid=30 и http://zmicode.ru/articals/javascript/div_window/ guest 30.08.09 01:19 Уж простите, но одно слово: АХ**НО!!! Strike 20.09.09 17:23 Натыкался на сайт через гугл несколько раз, сегодня добавил в закладки. Респект автору. Mike 28.10.09 20:20 могли бы с последним пунктом объяснить по подробнее, а то много времени на эти разборки потратил Надежда 30.10.09 11:57 Парень, ты просто молодец! Другой бы сам разобрался и молча юзал бы. Редко встретишь такое понятное описание даже для девушек. Надежда 30.10.09 11:59 Только рекламу не нашла. Честно хотела кликнуть. Kesha 06.11.09 19:23 Всем привет))сайт реально рулез!!!! Я долго искал эти слои)и вот, доступно и понятно))СПАСИБО!!! А на вашу ссылку я зашел; sunchez 21.11.09 04:45 респектоззз!!! вы делаете большое дело! в закладки! только в закладки! Ден 23.12.09 02:49 После пяти секунд просмотра - в закладках!!! Гомер) 09.02.10 00:50 Супер клей меня подери) супер сайт!!!!!!!!!! все самое полезное и главное всё работающее!!! буду советовать друзьям, посетить этот супер ресурс)))))) Новичек 09.02.10 11:50 - А как в ява примерах, запускать функции?? Без квери. Сергея 16.02.10 20:11 Еще раз спасибо. Сейчас модно отрывать окно, а остальные окна как бы "заувалировать" В открытом окне вводится какая либо информация , потом окно закрывается и основное окно вновь становится "активным" Сергея 16.02.10 21:29 Нашел. Все решается с помощью библиотеки jquery Кирилл 28.05.10 14:35 Спасибо! Сайт отличный! Помогите пожалуйста не могу понять как сделать чтобы закрывающий крестик появлялся на слое когда div открыт, а у меня он почему то на форме просто располагается, не так как показано тут в примере! Заранее спасибо! Кирилл 28.05.10 14:42 Все разобрался сам! Еще раз говорю сайт отличный! ;D Евгений 11.07.10 20:54 Просто и понятно) Спасибо за инфу... ck 23.08.10 22:42 Нашел эту замечательную строчку как закрыть div, адаптировал под свои нужды и счаслив. В благодарность прошел по ссылкам от google. И буду так поступать каждое следующее посешения. За нужную информацию - принципиально. Спасибо автору.... www.zdami.ru 04.10.10 14:38 Огромное спасибо за статью. Конечно чуток времени потратил на плавное появление )) George 22.10.10 16:25 В bookmark однозначно! и незабываем кликать по рекламе! Яков 27.01.11 21:46 Самый классный сайт я когда либо видел!!! Чувак, у тебя большое будущее!!! Ты просто крут!!! Респект!! Артур 16.06.11 18:13 Супер ребята, то что искал, отличная темка на 100 Роман 17.06.11 22:25 я тут наверно единственный кто не понял как это делается.. Андрей 14.07.11 12:42 Интереснинько!!! а как добавить функцию чтобы при прокручивании страницы div'ное окощко оставалось на месте???=) Vlad 24.08.11 11:58 Для того что бы при прокрутке оставалось на месте надо в position: fixed и всё) Саша 15.09.11 14:36 доступно написано, добавь плиз как закрыть див клацнув мимо него. Wedun 16.11.11 14:57 Ребят, а можно как-то сделать, чтобы можно было размер у окна менять после открытия мышкой. Очень хочется, а как сделать - не знаю:( anonymous 20.11.11 16:22 спасибо, чувак! Търло 29.12.11 02:46 спасиба! :смаил с языком: Ниссо 16.02.12 15:29 Большое спасибо за Ваш труд!!!! Владимир XXX 07.04.12 13:19 Спасибо! Очень помогло! Но было бы круче если использовался Jquery с еффектом fadeDown()!!! Amir. 22.04.12 16:53 Красава,отдуши за помощь))) nsd 24.04.12 15:18 Афтор коменты фейковые хватит писать. Код гавно кстати. Под ie тести и под линевые браузеры. Если вам помогла или просто понравилась эта статья вы можете отблагодарить автора кликнув по рекламе. Спасибо! комментировать:
прежде чем писать комментарий убедитесь, пожалуйста, что он не попадает в нижеследующие категории:
прямые оскорбления кого бы то ни было будут удалятся! от кого: |


