├── .gitignore ├── README.md ├── base.js ├── css └── modal.css ├── index.html ├── index.js └── plugins └── modal.js /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Практика JavaScript 2 | https://www.youtube.com/watch?v=FX2fiUvrYP4 3 | 4 | [](https://www.youtube.com/watch?v=FX2fiUvrYP4) 5 | -------------------------------------------------------------------------------- /base.js: -------------------------------------------------------------------------------- 1 | const $ = {} 2 | 3 | window.$ = $ 4 | -------------------------------------------------------------------------------- /css/modal.css: -------------------------------------------------------------------------------- 1 | .vmodal {} 2 | 3 | .vmodal.open .modal-overlay, 4 | .vmodal.open .modal-window { 5 | opacity: 1; 6 | z-index: 1000; 7 | } 8 | 9 | .vmodal.hide .modal-overlay, 10 | .vmodal.hide .modal-window { 11 | opacity: 1; 12 | z-index: 1000; 13 | } 14 | 15 | .vmodal.open .modal-window { 16 | transform: translateY(100px); 17 | } 18 | 19 | .vmodal.open .modal-overlay { 20 | background: rgba(0, 0, 0, .5); 21 | } 22 | 23 | .vmodal.hide .modal-window { 24 | transform: translateY(-200px); 25 | } 26 | 27 | .vmodal.hide .modal-overlay { 28 | background: rgba(0, 0, 0, 0); 29 | } 30 | 31 | .modal-window, .modal-overlay { 32 | opacity: 0; 33 | z-index: -1; 34 | } 35 | 36 | .modal-overlay { 37 | position: fixed; 38 | top: 0; 39 | right: 0; 40 | left: 0; 41 | bottom: 0; 42 | background: rgba(0, 0, 0, 0); 43 | transition: background .2s ease-in; 44 | } 45 | 46 | .modal-window { 47 | width: 600px; 48 | border-radius: 5px; 49 | background: #fff; 50 | margin: 0 auto; 51 | transform: translateY(-200px); 52 | transition: transform .2s ease-in; 53 | } 54 | 55 | .modal-header { 56 | padding: 5px 10px; 57 | display: flex; 58 | justify-content: space-between; 59 | border-bottom: 1px solid #eee; 60 | } 61 | 62 | .modal-title { 63 | font-size: 1.5rem; 64 | } 65 | 66 | .modal-close { 67 | cursor: pointer; 68 | } 69 | 70 | .modal-body { 71 | padding: 10px; 72 | } 73 | 74 | .modal-body p { 75 | margin: 0 0 5px; 76 | } 77 | 78 | .modal-footer { 79 | padding: 5px 10px; 80 | border-top: 1px solid #eee; 81 | } 82 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 7 | 8 | 9 | 10 |Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam dignissimos est et ex impedit laborum nemo quam, quasi rem soluta. Accusamus ad dolores eveniet iure minima totam voluptatibus. Ab adipisci aliquid animi aspernatur atque beatae consectetur consequuntur corporis culpa cum cumque distinctio dolorem doloremque eveniet fugit id illo incidunt inventore ipsam ipsum itaque labore laudantium natus, neque nesciunt nobis nulla numquam odio officiis qui quia quos similique sint sit tempora vitae, voluptatem. Ad adipisci aperiam asperiores, assumenda cumque delectus ducimus error hic illo incidunt inventore ipsam molestiae necessitatibus neque obcaecati odit pariatur porro qui quos, repellat suscipit tempore voluptatem voluptatibus?
18 |