let header = document.getElementById("nav");
window.addEventListener("scroll", () => {
let scrollPosition = window.pageYOffset;
if (scrollPosition > 150) header.classList.remove("header_fix");
else if (scrollPosition < 150) header.classList.add("header_fix");
});
<img src="lowres.jpg" onLoad="this.src='highres.jpg'" width="?" height="?">
<img src="lowres.jpg" onLoad="this.src='highres.jpg';this.onload=new Function();" width="?" height="?">
Почитайте про табы. Судя по тому, что вы спросили про реализацию, то верстайте с использованием CSS-фреимворков наподобие bootstrap, uikit и тд
Ну это же дефолтная задача. Вешаешь на каждую кнопку обработчик нажатия, показываешь нужный блок и скрываешь все остальные
A double-precision floating-point value indicating the duration of the media in seconds. If no media data is available, the value NaN is returned. If the element's media doesn't have a known duration—such as for live media streams—the value of duration is +Infinity.
audioPlayer.addEventListener('loadedmetadata', function () {
if (audioPlayer.duration == Infinity) {
audioPlayer.currentTime = 1e101;
audioPlayer.ontimeupdate = () => {
this.ontimeupdate = () => {
return;
}
vid.currentTime = 0;
return;
}
}
});