摘要: 接着上面做一下补充: 1、dataset的用法,与attribute的区别 2、获取图片到页面顶部高度的正确方法 3、怎样处理已经显示的图片重复遍历的问题 4、 scroll事件的触发频率很快,怎么减小其处理函数 的调用频率 与dataset和getAttribute 1、它是html5自定义属性, 阅读全文
posted @ 2017-09-22 09:20 aredleave 阅读(215) 评论(0) 推荐(0) 编辑
摘要: throttle节流函数,就是一个函数调用的频率控制器; 如下代码,safe每隔500ms才会为true,所以srollFn最快500ms执行一次。 阅读全文
posted @ 2017-09-22 09:19 aredleave 阅读(422) 评论(0) 推荐(0) 编辑
摘要: debounce就是防抖动, 在间隔不超过500ms的情况下,不管debounce执行多少次, lazyLoad都只执行一次; clearTimeout使得lazyLoad不会立即执行,每次debounce调用都会重置定时器,并再次等待,只有等debounce不再调用,并等待500ms之后lazyL 阅读全文
posted @ 2017-09-22 09:19 aredleave 阅读(1140) 评论(0) 推荐(0) 编辑
摘要: immediate与debounce相似,immediat连续执行,且间隔不超过500ms,lazyLoad只执行一次,不同于immediate的是现在lazyLoad会先执行, demo-immediate: 阅读全文
posted @ 2017-09-22 09:18 aredleave 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 整合前面的一些问题,还发现一些不足: 1、当滚动太快突然停止时,后面的图片不加载这更加类似immediate了,需要改进 2、用到了setTimeout,应该保证this的原有指向不变 3、节流函数用处较多,应该将它独立出来 阅读全文
posted @ 2017-09-22 09:17 aredleave 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 用于实际项目中,后期再次发现一个不足之处: 1、有的用户会在页面打开时,突然拉到中间某个位置,应该使用首屏加载方式。 2、需要使用前面说的添加节点的方式:<div class="imgWrap" data-src="../images/1.jpg"></div> 已经加载的图片,其从arrImgBo 阅读全文
posted @ 2017-09-22 09:17 aredleave 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 优先级由高到低:小括号(xxx) > 属性访问. > new foo() > foo() 除了 …扩展运算符 以外,就是 . 运算符和 [ ] 运算符最优先, 就先匹配它的左右,以 . 的位置隔开,用括号括起来, 匹配成完整的“对象.属性名” 的格式,或者“对象[属性名]” 然后在匹配,其它的格式, 阅读全文
posted @ 2017-09-22 09:16 aredleave 阅读(207) 评论(0) 推荐(0) 编辑