суббота, 8 июля 2017 г.

JavaScript. Практика. Popup

index.html



<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Поп-ап</title>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
 
    <div class="popup" onclick="myFunction()">Click me!
        <span class="popuptext" id="myPopup">Some text goes here!</span>
    </div>
   
 
<script src="script.js"></script>
       
</body>
</html>

style.css
.popup {
    position: relative;
    display: inline-block;
    cursor: pointer;
    margin: 50px;
}

.popup .popuptext {
    visibility: hidden;
    width: 160px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -80px;
}

/* Свойство content позволяет вставлять генерируемое содержание в текст веб-страницы,
    которое первоначально в тексте отсутствует. Применяется совместно с псевдоэлементами :after и :before,
    они соответственно указывают отображать новое содержимое после или до элемента,
    к которому добавляются. */
.popup .popuptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555;
}

.popup .show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s;
}

@-webkit-keyframes fadeIn {
    from{opacity:0;}
    to{opacity:1;}
}

keyframes fadeIn {
    from{opacity:0;}
    to{opacity:1;}
}

script.js
function myFunction() {
    var popup = document.getElementById('myPopup');
    popup.classList.toggle('show');
}

/*
    Свойство classList возвращает список классов элемента. Так же в этом свойстве присутствует 4 метода:

    add – добавление класса;
    remove – удаление класса;
    toggle – переключение класса;
    contains – проверка наличия класса у элемента.

*/

Комментариев нет:

Отправить комментарий