Создание простых модальных окон с помощью jQuery

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

jQuery

Начнем с jQuery и вставим следующий код между тегами <head></head>:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
    <script>
$(document).ready(function() {   
    $('a[name=modal]').click(function(e) {
    e.preventDefault();
    var id = $(this).attr('href');
  
        var maskHeight = $(document).height();
    var maskWidth = $(window).width();
  
    $('#mask').css({'width':maskWidth,'height':maskHeight});
  
    $('#mask').fadeIn(1000); 
    $('#mask').fadeTo("slow",0.8); 
  
    var winH = $(window).height();
    var winW = $(window).width();
  
   $(id).css('top',  winH/2-$(id).height()/2);
    $(id).css('left', winW/2-$(id).width()/2);
  
    $(id).fadeIn(2000); 
  
   });
  
    $('.window .close').click(function (e) {
e.preventDefault();
    $('#mask, .window').hide();
    }); 
 
    $('#mask').click(function () {
    $(this).hide();
    $('.window').hide();
    }); 
  
    });  
</script>

Как обычно, вначале подключаем фреймворк и далее идет функция.

CSS

Как Вы видели в демо версии, Вашему вниманию представлены три варианта применения данной функции. Ниже представлены стили оформления для всех 3-х вариантов:

<style>
    body {
    font-family:verdana;
    font-size:15px;
    }  
a {color:#333; text-decoration:none}
    a:hover {color:#ccc; text-decoration:none}  
#mask {
    position:absolute;
    left:0;
    top:0;
    z-index:9000;
    background-color:#000;
    display:none;
    }
  
    #boxes .window {
    position:absolute;
    left:0;
    top:0;
    width:440px;
    height:200px;
    display:none;
    z-index:9999;
    padding:20px;
    }  
#boxes #dialog {
    width:375px; 
    height:203px;
    padding:10px;
    background-color:#ffffff;
    }  
#boxes #dialog1 {
    width:375px; 
    height:203px;
    }  
#dialog1 .d-header {
    background:url(images/login-header.png) no-repeat 0 0 transparent; 
    width:375px; 
    height:150px;
    }  
#dialog1 .d-header input {
    position:relative;
    top:60px;
    left:100px;
    border:3px solid #cccccc;
    height:22px;
    width:200px;
    font-size:15px;
    padding:5px;
    margin-top:4px;
    }  
#dialog1 .d-blank {
    float:left;
    background:url(images/login-blank.png) no-repeat 0 0 transparent; 
    width:267px; 
    height:53px;
    }  
#dialog1 .d-login {
    float:left;
    width:108px; 
    height:53px;
    }
  
#boxes #dialog2 {
    background:url(images/notice.png) no-repeat 0 0 transparent; 
    width:326px; 
    height:229px;
    padding:50px 0 20px 25px;
    }
  </style>

Стили можно поместить как в отдельный файл, так и в сам документ. В стилях есть несколько путей к картинкам. Помните, если картинки будут переноситься в другую папку, необходимо поменять к ним путь.

HTML

HTML код, который необходимо поместить после тега <body>. Все очень просто.

<ul>
    <li><a href="#dialog" name="modal">Простое модальное окно</a></li>
    <li><a href="#dialog1" name="modal">Форма для логина</a></li>
    <li><a href="#dialog2" name="modal">Красивая липучка</a></li>
    </ul>
  
<div id="boxes">  
<div id="dialog" class="window"> 
Простое модальное окно | 
    <a href="#"class="close"/>Закрыть его</a>
    </div>
    
    <!-- НАчало формы логина --> 
    <div id="dialog1" class="window">
  <div class="d-header">
  <input type="text" value="username" onclick="this.value=''"/><br/>
  <input type="password" value="Password" onclick="this.value=''"/> 
  </div>
  <div class="d-blank"></div>
  <div class="d-login"><input type="image" alt="Login" title="Login" src="images/login-button.png"/></div>  
</div>
    <!-- конец -->   
   
<!-- Начало красивого стикера -->
    <div id="dialog2" class="window">
    Вот так все красиво!! <b>Ruseller.com</b> - всегда только лучшая информация<br/><br/>
  <input type="button" value="НУ НАЖМИТЕ МЕНЯ!!!" class="close"/>
  </div>
  <!-- конец -->  
   
<!-- Маска, которая затемняет весь экран -->
  <div id="mask"></div>

На этом урок завершен! Всего наилучшего всем нашим читателям. Хороших выходных и с наступающими праздниками!!!

Всегда рад Вашим комментариям и вопросам!
Теги:
окно
Добавлено: 08 Мая 2018 12:05:00 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...