Uczę się od kilku dni javascript-u niestety już na drugim zadaniu poległem. A mianowicie wymyśliłem sobie że zrobię wysuwane zakładki niestety mam problem bo gdy dodaje zdarzenie do pobranych elementów za pomocą addEventListern nie wszystko dobrze działa. Problem polega na tym że gdy wywołuje sobie console.log to nie jest pobierane przez moje zdarzenie poprawna wartość
Tak to wygląda:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="list.css"> </head> <body> <div class="container"> <ul> </ul> <div class="box"> <div id="attachment1" class="act"> </div> <div id="attachment2"> </div> <div id="attachment3"> </div> </div> </div> <script> const link = document.getElementsByTagName('a'); for(i=0; i< link.length; i++) { link[i].addEventListener("click", () => { const tmp = this.location.hash; console.log(tmp.replace("#", "")); }); } </script> </body> </html>
CSS
.container { width: 80%; margin: 0 auto; } ul { list-style-type: none; margin: 0; padding: 0; } ul > li { display: inline-block; } ul > li > a { text-decoration: none; font-size: 1.5em; color: #FFF; background: grey; padding: 15px; transition: all .3s; } ul > li > a:hover { background: #000; color: #FFF; } .active { background: #FFF; color: #000; border: 1px solid #000; border-bottom: none; } .box { margin-top: 13px; border: 1px solid #000; } .box > div { display: none; } .box > .act { display: block; }