</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>
注意你第六行写的是var buttons = document.getElementById('buttons');这样获取的只是一个对象,此时buttons[index-1]这个是不存在的,自然也没有相对应的className,应当改成var buttons=document.getElementById('buttons').getElementsByTagName('span'),此时buttons才是一个数组
是不是js代码放的位置有问题?