关于索引问题

关于索引问题

1、老师请问视频中所讲的索引是什么意思

2、类名可以用空格隔开多重命名吗

<div class="banner-slide s1 s-active"></div>

比如这句,为何同样调用的都是同一个div,为何要命名那么多

3、视频中老师将script放在body最后是为了应用到全局变量吗

4、

//全局变量
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=3 0 1 2
			if(index >=len){
				index=0;
			}
			console.log(index);
		},1000);//间歇调用
	}
}
slideImg();

这里的if条件判断语句,可以替换成for循环吗,既然知道图片数量,定好规定的长度是不是就可以不用声明len=pics.length

正在回答

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

3回答

同学你好,这里是不冲突的,可以这样理解:

    1、在js中全局变量的定义与js的引入位置并没有关系。在js中获取html页面元素与js的引入有关系。

    2、在html中,是自上而下执行的。将js放在body的尾部,在加载js时html的标签元素已经加载完,此时就可以正常获取页面中的元素,比如:

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

所以建议同学将js的引入放在body的尾部,尽量避免出现元素加载不到的情况。

继续加油 祝:学习愉快~

  • 孫瑪戈 提问者 #1
    也就是说在js中随便哪里定义全局变量都没问题,但在html中就得要放到body尾部是吗
    2020-09-15 11:17:28
  • 好帮手慕小班 回复 提问者 孫瑪戈 #2
    同学你好,这样理解是正确的。 如果在js中并没有获取页面元素的内容,可以不考虑script的引入位置。不过建议同学还是将js的引入放在body的尾部,尽量避免出现元素加载不到的情况。 继续加油 祝:学习愉快!
    2020-09-15 11:28:06
  • 孫瑪戈 提问者 回复 好帮手慕小班 #3
    谢谢老师!
    2020-09-15 11:32:15
提问者 孫瑪戈 2020-09-15 11:02:52

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

不是,这,老师,我怎么晕了

好帮手慕小班 2020-09-15 10:47:59

同学你好,1、同学可以这样理解:分别给元素设置索引,就是加了个key值,当设置了索引后,可以通过索引获取到这个元素。比如:

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

通过如上内容获取到一个div数组

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

然后通过这个索引获取到对应的div元素。

    2、类名可以用空格隔开多重命名,这是有具体的使用场景的,比如当前的slide-active类,只有当循环中,这个元素需要这个效果,才会执行这个class中的内容。

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

所以一个元素的class并不是唯一,可以有多个。

    3、在js的全局变量的使用,与html页面中script的引入位置并没有关系。

    4、这里的if语句是,当index超出范围后,重新赋值,所以并不需要循环来实现呐。

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

  • 提问者 孫瑪戈 #1
    老师其他问题我懂了,麻烦看下问题3
    2020-09-15 11:03:26
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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