老师 ,定时器问题

老师 ,定时器问题

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/style.css"/>
		 	
	</head>
	<body>
		<div class="main">
			<!--图片轮播-->
			<div class="banner" id="banner">
				<a href="">
					<div class="banner-slide slide1 slide-active"></div>
				</a>
				<a href="">
					<div class="banner-slide slide2"></div>
				</a>
				<a href="">
					<div class="banner-slide slide3"></div>
				</a>
			</div>
			<!--上一张、下一张 按钮-->
			<a href="javascript:void(0)" class="button prev"></a>
			<a href="javascript:void(0)" class="button next"></a>
			<!--圆点导航-->
			<div class="dots">
				<span class="active"></span>
				<span></span>
				<span></span>
			</div>
		</div>
		<script src="js/script.js"></script>
	</body>
</html>
//封装一个代替getElementById()的方法
function byId(id){
	//判断传进来的类型是否是字符串	不是的话 返回原样
	return typeof(id)==="string"?document.getElementById(id):id;
}

var index=0,//索引
	timer=null,//定时器
	pics=byId('banner').getElementsByTagName('div'),
	len=pics.length;
	
function slideimg(){
	var main=byId('main');
	//鼠标移入时 清除定时器
	//鼠标移出时 定时器生效
	main.onmouseover=function(){
		//清除定时器
	}
	main.onmouseout=function(){
		//定时器生效
		timer=setInterval(function(){
			index++;
			if(index>=len){
				index=0;
			}
			console.log(index);
		},3000);
	}
}
slideimg();

会报Cannot set property 'onmouseover' of null


另外 老师 为什么js不能写在header里?我看好像会报Uncaught TypeError: Cannot read property 'getElementsByTagName' of null 一个错?

正在回答 回答被采纳积分+1

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

1回答
提问者 将自己发配于人海 2018-05-11 15:22:01

老师 第一个问题 解决了 main没有加id

第二个问题呢?

  • 建议同学清晰描述你的问题,目前存在的还有哪些问题?建议同学重新开一个问答,清晰描述你的问题,并将全部代码贴出来,方便帮助你解答~
    2018-05-11 16:01:11
  • 老师 就是 如果把js文件写在body中 用getElementsByTagName 不会报错 而写在 header中 会报错 html:33
    2018-05-11 16:27:17
  • 嗯,是这样的,html页面是有加载顺序的,一般都是自上向下加载,如果将js写到header里,那么还没有加载到body部分的标签就去获取了,所以会出现错误~~
    2018-05-11 17:19:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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