课程3-3和视频敲得一样代码,结果报错

课程3-3和视频敲得一样代码,结果报错

http://img1.sycdn.imooc.com//climg/5c6a262c00011fc913590859.jpg


http://img1.sycdn.imooc.com//climg/5c6a263a0001d05b14400859.jpg

反复看了,和视频里的一样,结果一直报错,请问这个是怎么回事?

正在回答

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

5回答

getElementById()中的id不需要引号,如:

http://img1.sycdn.imooc.com//climg/5c6a8b5d000130d912480147.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 讓倪飛翔 提问者 #1
    哇塞!!老师真的是好眼力!!佩服,谢谢老师!辛苦了
    2019-02-18 18:41:44
提问者 讓倪飛翔 2019-02-18 18:21:16
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>综合实例:轮播图</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="main" id="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>
<!-- 上一张、下一张按钮 -->
<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>

</div>
<script type="text/javascript" src="script.js">

</script>
</body>
</html>

这是照着视频敲得index.html代码

提问者 讓倪飛翔 2019-02-18 18:16:27

http://img1.sycdn.imooc.com//climg/5c6a85cd0001902d19200907.jpg

把“String”改成“string”依然报这个错误,请问是浏览器不支持第9行那个函数吗?

提问者 讓倪飛翔 2019-02-18 16:57:32
// 封装一个代替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++; // len=0,1,2
			if(index >= len){
				index = 0;
			}
			// 切换图片
			changeImg();

		},2000);
	}
}

// 切换图片
function changeImg(){
	// 遍历banner下所有的div,将其隐藏
	for(var i=0;i<len;i++){
		pics[i].style.display = "none";
	}
	// 根据index索引找到当前div,将其显示
	pics[index].style.display = 'block';
}

slideImg();

这是我按照视频敲得script.js代码,一模一样的,可是我的浏览器却报了那个错

  • 同学你好,byId()方法中typeof(id)==="string"这里的S应该是小写的。同学修改一下再试试。祝:学习愉快~
    2019-02-18 18:10:58
  • 提问者 讓倪飛翔 回复 好帮手慕阿满 #2
    老师我改成小写了还是不行,报一样的错误。截图贴在3楼了
    2019-02-18 18:17:15
chrismorgen 2019-02-18 16:47:31

建议同学将你js文件的代码全部粘贴一下,方便我们运行测试,并具有针对性的为你解答,祝学习愉快~

  • 提问者 讓倪飛翔 #1
    // 封装一个代替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++; // len=0,1,2 if(index >= len){ index = 0; } // 切换图片 changeImg(); },2000); } } // 切换图片 function changeImg(){ // 遍历banner下所有的div,将其隐藏 for(var i=0;i<len;i++){ pics[i].style.display = "none"; } // 根据index索引找到当前div,将其显示 pics[index].style.display = 'block'; } slideImg();
    2019-02-18 16:56:10
  • 提问者 讓倪飛翔 #2
    老师,这里回复的代码太乱了,我在二楼贴出来了
    2019-02-18 16:58:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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