getElementsByTagName不是动态获取元素的吗,为什么这个还会动?

想尝试做个轮播图下面的那种随着图片变化的点,感觉用动态获取会方便一些,但是做出来的效果好像是静态获取的了,点击第一个方块,console它的索引值一直是在变的,动态获取的话第一个不应该一直是0的吗?

http://runjs.cn/detail/cuxxtwzd

https://img1.mukewang.com/5becd9e700018ffc03370664.jpg

温温酱
浏览 777回答 1
1回答

海绵宝宝撒

正是因为动态的所以会变啊。因为setInterval函数里所做的操作,就是每半秒把spans中最后一个元素移动到第一个元素前面,由于spans是动态的,所以才正好每次都是把显示出来的最后一个元素放到第一个元素的前面。一开始是各元素的index分别是 0 1 2 3 4 5 6 7第一次是把span[7](index=7)放到span[0]前面(index=0)结果为 7 0 1 2 3 4 5 6第二次是把span[7](index=6)放到span[0]前面(index=7)结果为 6 7 0 1 2 3 4 5第三次是把span[7](index=5)放到span[0]前面(index=6)结果为 5 6 7 0 1 2 3 4以此类推。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript