Uncaught TypeError: Cannot read property
var index = 0,
timer = null,
pics = byId("banner").getElementsByTagName("div"),
dots = byId("dots").getElementsByTagName("span"),
len = pics.length;
加粗的两行显示错误Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
正在回答 回答被采纳积分+1
//封装一个代替getElementById()的方法
function byId(id) {
return typeof(id) === "string" ? document.getElementById(id):id;
}
//全局变量
var index = 0,
timer = null,
pics = byId("banner").getElementsByTagName("div"),
dots = byId("dots").getElementsByTagName("span"),
len = pics.length;
function slideImg() {
var main = byId("main");
//滑过清除定时器,离开继续
main.onmousemove = function() {
//滑过清除定时器
if(timer) clearInterval(timer);
}
main.onmouseout = function() {
timer = setInterval(function() {
index++;
// console.log(index);
if(index >=len){
index = 0;
}
//切换图片
changeImg();
}, 2000);
}
main.onmouseout();
//遍历所以点击,且绑定点击事件,点击圆点切换图片
for(var d=0;d<len;d++){
//给所有span添加一个id的属性,值为d当前span的索引
dots[d].id = d;
dots[d].onclick=function(){
改变index为当前sapn的索引
index = this.id;
this.className="active";
changeImg();
}
}
}
//自动在main上触发鼠标离开的时间
//切换图图片
function changeImg(){
//遍历banner下多有的div,将其隐藏
for(var i=0;i<len;i++){
pics[i].style.display="none";
}
pics[index].style.display="block";
}
slideImg();
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星