Ошибка function is not defined, не знаю в чем проблема
Вообще я хотел в начале задать другой вопрос, но когда здесь написал код, появилась ошибка: "Uncaught ReferenceError: scrollHook is not defined". Не знаю чем вызвано, вроде бы написал название функции правильно. Это я слепой что не вижу синтаксической ошибки или это что то другое? Подскажите пожалуйста
function scrollHook(offsetValue, element){
let thisElement = document.getElementById(element);
window.onscroll = function (){
if (window.pageYOffset > offsetValue ) {
thisElement.style.overflow = "scroll";
} else if(window.pageYOffset < offsetValue){
thisElement.style.overflow = "hidden";
}
};
};
.display{
display: flex;
margin-top: 250px;
}
.scroll{
height: 200px;
width: 200px;
overflow: hidden;
}
.block{
width: 200px;
height: 500px;
background-color: #f6f6f6;
}
<div class="display">
<div class="scroll" id="block-a"> <div class="block">a</div> </div>
<div class="scroll" id="block-b"> <div class="block">b</div> </div>
</div>
<script>
scrollHook("250", "block-a");
scrollHook("250", "block-b");
</script>
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Помещайте весь скрипт в окно HTML, или весь скрипт - в окно JavaScript.
В собраной странице сначала идет HTML, a потом JS.
.display {
display: flex;
margin-top: 250px;
}
.scroll {
height: 200px;
width: 200px;
overflow: hidden;
}
.block {
width: 200px;
height: 500px;
background-color: #f6f6f6;
}
<div class="display">
<div class="scroll" id="block-a">
<div class="block">a</div>
</div>
<div class="scroll" id="block-b">
<div class="block">b</div>
</div>
</div>
<script>
function scrollHook(offsetValue, element) {
let thisElement = document.getElementById(element);
window.onscroll = function() {
if (window.pageYOffset > offsetValue) {
thisElement.style.overflow = "scroll";
} else if (window.pageYOffset < offsetValue) {
thisElement.style.overflow = "hidden";
}
};
};
</script>
<script>
scrollHook("250", "block-a");
scrollHook("250", "block-b");
</script>
Вопрос: После двух вызовов scrollHook, чему будет равно window.onscroll?
Ответ: window.addEventListener("scroll", function() { ... });