99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: How to Create Popups
 | |
| ---
 | |
| ## How to Create Popups
 | |
| 
 | |
| Popup is a window that pops up (appears) when you select an option with a mouse or press a special function key.
 | |
| 
 | |
| In this example , the popup will appear when you click on a button and will stay on the screen until you press X option.
 | |
| 
 | |
| We will construct the popup using ```HTML``` , ```CSS``` and ```JavaScript```
 | |
| 
 | |
| ### Step 1 HTML
 | |
| 
 | |
| The HTML provides the structure for the popup
 | |
| 
 | |
| ```html 
 | |
| <!-- div class="container" will contain the button that will open the popup when I click on it, and the popup window that will appear -->
 | |
| <div class="container">
 | |
|   <button id="Btn">Open The PopUp</button>
 | |
|   <div class="popup_main_div">
 | |
|     <p class="text">Popup with JavaScript</p>
 | |
|     <div class="close_popup"><p>X</p></div>
 | |
|   </div>
 | |
| </div>
 | |
| ```
 | |
| 
 | |
| ### Step 2 CSS
 | |
| We will choose our own style for the popup window. Notice: the popup div should be hidden at first, so in the style I will select display: none; 
 | |
| 
 | |
| 
 | |
| ```css 
 | |
| .popup_main_div{
 | |
|     position: fixed;
 | |
|     width: 800px;
 | |
|     height: 400px;
 | |
|     border: 2px solid black;
 | |
|     border-radius: 5px;
 | |
|     background-color: #fff;
 | |
|     left: 50%;
 | |
|     margin-left: -400px;
 | |
|     top: 50%;
 | |
|     margin-top: -250px;
 | |
|     display: none; 
 | |
| 
 | |
|   }
 | |
|   .close_popup{
 | |
|     position: absolute;
 | |
|     width: 25px;
 | |
|     height: 25px;
 | |
|     border-radius: 25px;
 | |
|     border: 2px solid black;
 | |
|     text-align: center;
 | |
|     right: 5px;
 | |
|     top: 5px;
 | |
|     cursor: pointer;
 | |
|   }
 | |
|    .close_popup p{
 | |
|      margin-top: 5px;
 | |
|      font-weight: 400;
 | |
| 
 | |
|    }
 | |
|    .text{
 | |
|      text-align: center;
 | |
|      font-size: 30px;
 | |
|      font-weight: 400;
 | |
|      margin-top: 22%;
 | |
|    }
 | |
|    #Btn{
 | |
|      position: absolute;
 | |
|      left: 50%;
 | |
|      top:20%;
 | |
| 
 | |
|    }
 | |
| ```
 | |
| 
 | |
| 
 | |
| ### Step 3 JavaScript
 | |
| 
 | |
| 
 | |
| 
 | |
| ```js
 | |
| // First of all I will initialize my variables 
 | |
| // Select the elements that we will use from the DOM
 | |
| // I wiil add en event in the button which will trigger a function that will change the popup's display style from none to block
 | |
| 
 | |
|   const Btn=document.getElementById("Btn")
 | |
|   const PopupDiv = document.querySelector(".popup_main_div")
 | |
|   const ClosePopup = document.querySelector(".close_popup")
 | |
|   Btn.addEventListener('click',function(){
 | |
|     PopupDiv.style.display="block"
 | |
|   })
 | |
|   ClosePopup.addEventListener('click',function(){
 | |
|     PopupDiv.style.display="none"
 | |
|   })
 | |
| 
 | |
| ```
 | |
| 
 | |
| Live code in : [Codepen.io](https://codepen.io/voula12/pen/qyyNeK)
 |