Показать сообщение отдельно
  #22 (permalink)  
Старый 21.04.2020, 15:18
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сообщение от Сергей Ракипов Посмотреть сообщение
почему когда я переменные выношу за функцию они не работаю, они же глобальными должны быть
Вынести можно только так
<script>
let percentage = document.querySelector(".percentage");
let percentageVal = document.querySelector("#percentage-value");
let fact = document.querySelector(".fact");

let updateScrollPercentage = function() {
    let heightOfWindow = window.innerHeight;
    let contentScrolled = window.pageYOffset;
    let bodyHeight = document.body.offsetHeight;
     
    if(bodyHeight - contentScrolled <= heightOfWindow) {
        percentageVal.textContent = percentage.style.height = "100%"
    }
    else {
        let total = bodyHeight - heightOfWindow;
        let got = contentScrolled;
        let percent = parseInt((got/total) * 100);
        percentageVal.textContent = percentage.style.height = percent + "%";
            if (percent>=20 && percent<=30){
                fact.style.display = "block";
            }
            else{
                fact.style.display = "none";
            }
    }
}
window.addEventListener('scroll', updateScrollPercentage)
</script>
Ответить с цитированием