1

作成中のウェブサイトのスライドショーを作成しています。しかし、私のスライドショーはエラーが発生し続けます

プロパティ 'className' を null に設定できません

ここに私のコードがあります:

window.onload=function(){
var slideshow = document.getElementsByClassName('slideshow').item(0),
    train = slideshow.getElementsByClassName('train').item(0),
    lists = document.getElementsByClassName('btns').item(0).getElementsByClassName('btn'),
    currentSlide = 0;

(go2slide = function (n) {
    if(n>lists.length-1) n=0;
    if(n<0) n=lists.length-1;
    train.style.left=(-310*n)+'px';
    lists.item(currentSlide).className = '';
    lists.item(n).className = 'active';
    currentSlide=n;
})(0); // set active of first li

nextSlide = function(){
    go2slide(currentSlide+1);
}

prvSlide = function(){
    go2slide(currentSlide-1);
}

var autoPlayIv = false;
(autoPlayStart = slideshow.onmouseout = function(){
    if(autoPlayIv) return;
    autoPlayIv = setInterval(nextSlide, 2000);
})(); // run auto play

autoPlayStop = slideshow.onmouseover = function(){
    clearInterval(autoPlayIv);
    autoPlayIv = false;
}

slideshow.getElementsByClassName('next').item(0).onclick=nextSlide;
slideshow.getElementsByClassName('previous').item(0).onclick=prvSlide;

for (var i=0; i<lists.length; i++) {
    (function(j){
        lists.item(j).onclick=function(){
            go2slide(j);
        }
    })(i);
}
}

私は btn と btns ul として li タグ クラスを持っています。そのアイテム(0)。これがそれに関連するhtmlです

<div class="body">
        <div class="slide">
                <div class="s1">
                    <div class="slideshow">
                        <div class="train">
                            <script type="text/javascript">
                                var slidesLen = 3;
                                for(var i=1;i<=slidesLen;i++){
                                document.write("<div style=\"background-image:url('../images/pic"+i+".jpg');\"></div>");
                                }
                            </script>
                        </div>
                        <div class="previous"></div>
                        <div class="next"></div></div>
                        <ul class="btns">
                            <i class="btn"></i>
                            <i class="btn"></i>
                            <i class="btn"></i>
                        </ul>
            </div>
                <div class="s2"></div>
                <div class="s3"></div>
                <div class="s4"></div>
                <div class="s5">
                    <div class="I"></div>
                    <div class="II"></div>
                    <div class="III"></div>
                </div>
        </div>
        <div class="text"></div>
    </div>

そしてもちろん、私がここに投稿している body.php だけです。メニューと css および js 関連タグを含む header.php は必要ないと思います。かどうか教えて

4

0 に答える 0