为了账号安全,请及时绑定邮箱和手机立即绑定

.className问题 ,加粗部分

 </style>
   <script>
    window.onload = function(){
       var container = document.getElementById('container');
    var listImg = document.getElementById('listImg');
    var buttons = document.getElementById('buttons');
    var next = document.getElementById('next');
    var prev = document.getElementById('prev');
    var index = 1;
    function animate(offset){
         var newlist = parseInt(listImg.style.left)+offset;
      listImg.style.left = newlist + 'px';
     if(newlist > -700){
         listImg.style.left = -3500 + 'px';
     }
     if(newlist < -3500){
         listImg.style.left = -700 + 'px';
     }
    }
    function showButtons(){
        buttons[index-1].className = 'on';     在这用className浏览器报  ‘Uncaught TypeError: Cannot set property 'className' of undefined ’ 这个错呢

    }


    next.onclick = function(){
        showButtons();
        animate(-700);
    }
    prev.onclick = function(){
        animate(700);
    }
    }
   
   </script>

正在回答

2 回答

注意你第六行写的是var buttons = document.getElementById('buttons');这样获取的只是一个对象,此时buttons[index-1]这个是不存在的,自然也没有相对应的className,应当改成var buttons=document.getElementById('buttons').getElementsByTagName('span'),此时buttons才是一个数组

1 回复 有任何疑惑可以回复我~
#1

xuyy567

完美解答了我的问题
2016-08-13 回复 有任何疑惑可以回复我~

是不是js代码放的位置有问题?

0 回复 有任何疑惑可以回复我~
#1

慕九州9359096 提问者

应该放在哪呢?
2016-05-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

.className问题 ,加粗部分

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信