serii81
@serii81
Я люблю phр...

Почему document is not defined?

Вот содержимое script.js
function Slider(settings){
    let slider = document.getElementById('slider-1');
    let sliderContent = slider.getElementsByClassName('slider__content')[0];
    let sliderItems = slider.getElementsByClassName('slider__item');
    let sliderWidth = parseFloat(getComputedStyle(sliderContent).width);
    let singleSlideWidth = 0;

    let init = function(){
        if(!settings.slidesToShow && !+settings.slidesToShow){
            settings.slidesToShow = 1;
        }

        singleSlideWidth = sliderWidth/settings.slidesToShow;
    };

    for(let i = 0; i < sliderItems.length; i++){
        sliderItems[i].style.width = singleSlideWidth + 'px';
        sliderItems[i].style.left = (singleSlideWidth * i) + 'px';
    }

    init();
}

let s1 = new Slider({
    sliderId: 'slider-1',
    slidesToShow: '2',
    infinite: false
});


вот index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>

<div id="slider-1" class="slider">
    <div class="slider__content">
        <div class="slider__item">
            <img src="img/3.jpeg" alt="slide">
        </div>

        <div class="slider__item">
            <img src="img/4.jpeg" alt="slide">
        </div>

        <div class="slider__item">
            <img src="img/5.jpeg" alt="slide">
        </div>
    </div>

    <button class="slider-button slider-button__prev" data-slider="prev">prev</button>
    <button class="slider-button slider-button__next" data-slider="next">next</button>
</div>
<script src="script.js"></script>
</body>
</html>


Ведь скрипты у меня лежит перед body, почему он не видит document? Просто мистика.
В скрипте вставил
window.load = function(){

}

и заработало.
Но мне все же не понятно, в чем причина?
Жду помощи.
  • Вопрос задан
  • 4582 просмотра
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
window.onload тоже undefined
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы