[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Оригинальное всплывающее окно на jQuery
easyДата: Четверг, 30.07.2009, 10:47:05 | Сообщение # 1
[red]Главный[/red]
Группа: Администратор
Сообщений: 626
Статус: Offline

Пример

Сегодня я расскажу, как создать всплывающее окно на jQuery, которое можно перетаскивать мышью, сворачивать, растягивать и, конечно, закрывать.

Для начала нужно скачать и подключить к документу необходимые скрипты.

Code
<script type="text/javascript" src="jQuery.js"></script>     
<script type="text/javascript" src="interface.js"></script>

Шаг 2.

Между тегами или в отдельном CSS файле пропишем следующие стили для нашего окна:

Code
#window     

      {     

position: absolute;     

left: 200px;     

top: 100px;     

width: 400px;     

height: 300px;     

overflow: hidden;     

display: none;     

}     

#windowTop     

{     

height: 30px;     

overflow: 30px;     

background-image: url(images/window_top_end.png);     

background-position: right top;     

background-repeat: no-repeat;     

position: relative;     

overflow: hidden;     

cursor: move;     

}     

#windowTopContent     

{     

margin-right: 13px;     

background-image:url(images/window_top_start.png);     

background-position:left top;     

background-repeat: no-repeat;     

overflow: hidden;     

height: 30px;     

line-height: 30px;     

text-indent: 10px;     

font-family:Arial, Helvetica, sans-serif;     

font-weight: bold;     

font-size: 14px;     

color: #6caf00;     

}     

#windowMin     

{     

position: absolute;     

right: 25px;     

top: 10px;     

cursor: pointer;     

}     

#windowMax     

{     

position: absolute;     

right: 25px;     

top: 10px;     

cursor: pointer;     

display: none;     

}     

#windowClose     

{     

position: absolute;     

right: 10px;     

top: 10px;     

cursor: pointer;     

}     

#windowBottom     

{     

position: relative;     

height: 270px;     

background-image: url(images/window_bottom_end.png);     

background-position: right bottom;     

background-repeat: no-repeat;     

}     

#windowBottomContent     

{     

position: relative;     

height: 270px;     

background-image: url(images/window_bottom_start.png);     

background-position: left bottom;     

background-repeat: no-repeat;     

margin-right: 13px;     

}     

#windowResize     

{     

position: absolute;     

right: 3px;     

bottom: 5px;     

cursor: se-resize;     

}     

#windowContent     

{     

position:absolute;     

top: 30px;     

left: 10px;     

width: auto;     

height: auto;     

overflow: auto;     

margin-right: 10px;     

border: 1px solid #6caf00;     

height: 255px;     

width: 375px;     

font-family:Arial, Helvetica, sans-serif;     

font-size: 11px;     

background-color: #fff;     

}     

#windowContent *     

{     

margin: 10px;     

}     

.transferer2     

{     

border: 1px solid #6BAF04;     

background-color: #B4F155;     

filter:alpha(opacity=30);      

-moz-opacity: 0.3;      

opacity: 0.3;     

}

Шаг 3.

Вставим ссылку, по которой будет открываться всплывающее окно, а затем непосредственно сам код блока окна.

Code
<a href="" id="windowOpen">Открыть всплывающее окно</a>     

      <div id="window">     

<div id="windowTop">     

<div id="windowTopContent">Название окна</div>     

<img src="images/window_min.jpg" id="windowMin" />     

<img src="images/window_max.jpg" id="windowMax" />     

<img src="images/window_close.jpg" id="windowClose" />     

</div>     

<div id="windowBottom"><div id="windowBottomContent"> </div></div>     

<div id="windowContent">

Содержание всплывающего окна</p></div>     

      <img src="images/window_resize.gif" id="windowResize" /></div>

Шаг 4.

Перед закрывающим тегом </body> вставим код скрипта:


Code
<script type="text/javascript">     

      $(document).ready(     

function()     

{     

$('#windowOpen').bind(     

'click',     

function() {     

if($('#window').css('display') == 'none') {     

$(this).TransferTo(     

{     

to:'window',     

className:'transferer2',      

duration: 400,     

complete: function()     

{     

$('#window').show();     

}     

}     

);     

}     

this.blur();     

return false;     

}     

);     

$('#windowClose').bind(     

'click',     

function()     

{     

$('#window').TransferTo(     

{     

to:'windowOpen',     

c lassName:'transferer2',      

duration: 400     

}     

).hide();     

}     

);     

$('#windowMin').bind(     

'click',     

function()     

{     

$('#windowContent').SlideToggleUp(300);     

$('#windowBottom, #windowBottomContent').animate({height: 10}, 300);     

$('#window').animate({height:40},300).get(0).isMinimized = true;     

$(this).hide();     

$('#windowResize').hide();     

$('#windowMax').show();     

}     

);     

$('#windowMax').bind(     

'click',     

function()     

{     

var windowSize = $.iUtil.getSize(document.getElementById('windowContent'));     

$('#windowContent').SlideToggleUp(300);     

$('#windowBottom, #windowBottomContent').animate({height: windowSize.hb + 13}, 300);     

$('#window').animate({height:windowSize.hb+43}, 300).get(0).isMinimized = false;     

$(this).hide();     

$('#windowMin, #windowResize').show();     

}     

);     

$('#window').Resizable(     

{     

minWidth: 200,     

minHeight: 60,     

maxWidth: 700,     

maxHeight: 400,     

dragHandle: '#windowTop',     

handlers: {     

se: '#windowResize'     

},     

onResize : function(size, position) {     

$('#windowBottom, #windowBottomContent').css('height', size.height-33 + 'px');     

var windowContentEl = $('#windowContent').css('width', size.width - 25 + 'px');     

if (!document.getElementById('window').isMinimized) {     

windowContentEl.css('height', size.height - 48 + 'px');     

}     

}     

}     

);     

}     

);     

</script>


 
Реклама
Ваша реклама тут пишите в лс axmed
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последние обновленные темы Самые популярные темы Самые активные Новые участники
Новый Ловец чек... (6)
Смотрим удалённ... (2)
Автокликер в Ha... (0)
Базы поставщико... (0)
Скрипт sHORT Li... (0)
Новый Ловец чек... (6)
Общение (6)
Игра в слова (6)
+7 (6)
+10 (6)
easy
fafirok
Maylo
guceds
Drago1997
katrinshsh20:46:17
axmedlr23:19:08
zsteshenko0721:37:14
artemkozhin8021:48:51
artemnovick201417:06:44