Uncaught TypeError: Cannot read property

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

登陆购买课程后可参与讨论,去登陆

3回答
提问者 onedream4 2018-11-29 16:32:38

解决了,老师不用回了


提问者 onedream4 2018-11-29 15:59:38

//封装一个代替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();


一叶知秋519 2018-11-29 14:55:18

建议同学将你的代码贴全,方便老师准确的定位你的问题,否则单凭两行代码无法帮助你解决,

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师