I'm trying to finish a scroll function to modify header style based on scroll position.
My knowledge of JS is limited so please bear with me if it's an easy fix.
Codepen project at https://codepen.io/Rhyfelwr/pen/gObyNGB
window.onscroll = function() {scrollHeaderShrinkFunction()};
function scrollHeaderShrinkFunction() {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {//when shrunk
document.getElementById("header").style.height = "30px";
document.getElementById("header").style.fontSize = "1.0em";
document.getElementById("header").style.borderBottom = "1px solid #333";
} else {//default
document.getElementById("header").style.height = "90px";
document.getElementById("header").style.fontSize = "3em";
document.getElementById("header").style.borderBottom = "3px solid #333";
}
}
#header {
background-color: #f1f1f1;
padding: 10px;
color: black;
text-align: center;
font-size: 2em;
position: fixed;
top: 0;
left: 0;
width: 100%;
transition: 1s;
}
#header img{
max-height: 100%;
}
<body>
<div id="header">
<img src="https://www.donbur.co.uk/gb-en/css/img/don-bur-logo-svg.svg" alt="logo">
Header
</div>
<div style="margin-top:100px;padding:15px 15px;font-size:30px">
<p>Shrinking Header Logo</p>
<p>Lorem ipsum dolor dummy text sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor dummy text sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor dummy text sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor dummy text sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</body>
Im using a simple getElementById() to mod a div style but my pages are in html5 with rather then div IDs.
I tried switching to getElementsByTagName() but it doesn't seem to work.
What am I missing please?