3-3视频中瀑布流的问题
图片中画红线的部分boxes.length的长度随着滚动条的下拉会一直发生变化吗?
图片中还有画蓝色的部分视频听得不是很明白,老师能在详细的介绍一下吗
正在回答 回答被采纳积分+1
你好同学 ,问题解答如下:
1. boxes.length不会变化的 , 因为boxes获取页面加载时最初的18个盒子 ,如下代码:
2.瀑布流图片的位置是根据上一行图片最小宽度决定的 , 例如第一行高度最小的图片是第六张图片 ,所以第二行的第一张也就是第七张图片定位在它下面 .
所以如下代码中 , 并获取每行图片的高度传递给如下函数getIndex , 然后找到最小图片的索引
3. 如下代码中就是js为图片设置定位 , top值和left值的语法 ,
everyHeight[minIndex] += boxes[i].offsetHeight + 20; 是给每个盒子设置高度height .
当如上第二条找到最小高度的图片索引后 ,那么根据索引设置下一行第一张要在它下面 ,然后下一次for循环( 同学可以看到代码是写在for循环中的 ) , 就会再剩下的图片中再找到最小高度的索引值 , 再让下一行的第二张图片定位到下面 .,依次循环直到排列完毕 ....
这一块不好理解 , 建议同学在看着视频 ,自己敲一下代码 , 能够帮助自己更好的理解哦.
祝学习愉快 ,望采纳
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧