From 30ce6b6be0e03977e83ecdc4d8c193ce684b41e6 Mon Sep 17 00:00:00 2001 From: Sam <74021826+x39OME@users.noreply.github.com> Date: Sun, 16 Apr 2023 02:19:49 +0300 Subject: [PATCH] Add files via upload --- 100_projects/54-traffic-lights/inedx.html | 19 +++++++ 100_projects/54-traffic-lights/main.js | 18 +++++++ 100_projects/54-traffic-lights/style.css | 65 +++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 100_projects/54-traffic-lights/inedx.html create mode 100644 100_projects/54-traffic-lights/main.js create mode 100644 100_projects/54-traffic-lights/style.css diff --git a/100_projects/54-traffic-lights/inedx.html b/100_projects/54-traffic-lights/inedx.html new file mode 100644 index 0000000..248cc15 --- /dev/null +++ b/100_projects/54-traffic-lights/inedx.html @@ -0,0 +1,19 @@ + + + + + + + Document + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/100_projects/54-traffic-lights/main.js b/100_projects/54-traffic-lights/main.js new file mode 100644 index 0000000..ec521c6 --- /dev/null +++ b/100_projects/54-traffic-lights/main.js @@ -0,0 +1,18 @@ +const circles = document.querySelectorAll('.circle') +let activeLight = 0; + +setInterval(() => { + changeLight(); +}, 1000); + +function changeLight() { + circles[activeLight].className = 'circle'; + activeLight++; + + if(activeLight > 2) { + activeLight = 0; + } + const currentLight = circles[activeLight] + + currentLight.classList.add(currentLight.getAttribute('color')); +} \ No newline at end of file diff --git a/100_projects/54-traffic-lights/style.css b/100_projects/54-traffic-lights/style.css new file mode 100644 index 0000000..430d9d3 --- /dev/null +++ b/100_projects/54-traffic-lights/style.css @@ -0,0 +1,65 @@ +* { + box-sizing: border-box; +} +body { + background-color: #4682B4; + display: flex; + align-items: center; + justify-content: center; + min-height: 100vh; + margin: 0; +} +.container { + position: relative; + background-color: rgba(0, 0, 0, .5); + border-radius: 10px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + padding: 15px 0; + height: 200px; + width: 70px; + border: 3px solid #FFA500; +} +.container::before{ + content: ''; + position: absolute; + left:50%; + transform: translateX(-50%); + bottom: -250px; + width: 30px; + border-radius: 10px; + height: 250px; + background: #FFA500; + z-index: -1; +} +.circle { + background-color: rgba(0, 0, 0, 0.3); + border-radius: 100%; + position: relative; + height: 40px; + width: 40px; +} +.circle::after { + border-right: 4px solid rgba(255, 255, 255, 0.6); + border-radius: 100%; + content: ' '; + position: absolute; + top: 5px; + left: 0px; + width: 30px; + height: 30px; +} +.circle.red { + background-color: #c0392b; + box-shadow: 0 0 20px 5px #c0392b; +} +.circle.yellow { + background-color: #f1c40f; + box-shadow: 0 0 20px 5px #f1c40f; +} +.circle.green { + background-color: #2ecc71; + box-shadow: 0 0 20px 5px #2ecc71; +} \ No newline at end of file