<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div.traffic-lights{ display: grid; background-color: black; } div.lights{ border-radius: 50%; width: 3rem; height: 3rem; } </style> </head> <body> <div id="app" class="traffic-lights"> </div> <script> showGreen(); function showGreen(){ show('showYellow', 'grey', 'grey','green') }; function showYellow(){ show('showRed', 'grey', 'yellow', 'grey') }; function showRedYellow(){ show('showGreen','red','yellow','grey') }; function showRed(){ show('showRedYellow','red','grey','grey') }; function show(onclickFunc ,lamp1, lamp2, lamp3) { document.getElementById('app').innerHTML = /*HTML*/ ` <div id="trafficLights" onclick="${onclickFunc}()"> ${createLampHtml(lamp1)} ${createLampHtml(lamp2)} ${createLampHtml(lamp3)} </div> `; }; function createLampHtml(color){ return /*HTML*/ ` <div class="lights" style="background-color: ${color};"></div> `; }; </script> </body> </html>