首页
学习
活动
专区
圈层
工具
发布

3分钟搞定图片懒加载

什么是图片懒加载 图片的懒加载就是在页面打开的时候,不要一次性全部显示页面所有的图片,而是只显示当前视口内的图片,一般在移动端使用(PC端主要是前端分页或者后端分页)。...实现代码 这里模拟两种情况: 情况一 1、前端已经获取到所有的图片了,现在需要将这些图片以懒加载的形式展示。 例子如下: scroll事件,在scroll事件的回调中,判断我们的懒加载的图片判断是否出现在视口内,如果出现在视口内,则将data-src赋值到src。...> $(function () { // 第一次需要先加载一次 lazyLoad(); $(window).scroll(lazyLoad...当向下滑动的时候,从Network面板可以看到,剩下的图片是一个个加载的。 可能有人疑问为什么第一次加载了4张,而不是3张?

3K20

jquery scroll 滚动加载列表 获取腾讯云图片像素信息

jquery scroll 滚动加载列表 获取腾讯云图片像素信息 场景描述 问题处理 其他问题处理 场景描述 bootstarp列表加载图片时需要同时获取图片的像素(宽and高),对于腾讯云这类远程存储获取图片来说...,并且腾讯云获取图片像素信息的接口还有频限100的限制,这就更导致了通过后台获取图片像素方案的不适用,那么如果通过页面jquery获取图片像素的时候当图片量很大的时候也是会出现卡顿,加载慢的情况,这个时候就考虑的热区内图片展示像素...ps:超出可视区外的图片不再循环,防止资源消耗过多 return false; } }) } else { // 所有图片都已加载...').scroll(function () { start(); }) } 效果如图 初始化列表时执行一次start(),给热区内图片赋值像素,待滚动鼠标时再拉去当前页面热区内未加载图片像素信息的图片像素...} else { // ps:超出可视区外的图片不再循环,防止资源消耗过多 return false; } }) } else { // 所有图片都已加载

1.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    jQuery:详解jQuery中的事件(一)

    一、jQuery中的事件   1、加载DOM:   执行时机:在常规的JavaScript中,通常使用window.onload方法,而在jQuery中,使用的是$(document).ready()方法...注意以上两种方法的区别:   window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行,也即在此时JavaScript才可以访问网页中的任何元素;   $(document...).ready()方法注册的事件处理程序,在DOM完全就绪时就可以被调用,也即此时网页的所有元素对jQuery都是可以访问的,但是并不是这些元素关联的文件都已经下载完毕。   ...如果处理函数绑定给window对象,则会在所有的内容(包括窗口、框架、对象和图像等)加载完毕后触发,出国处理函数绑定在元素上,则会在元素的内容加载完毕后触发。   ...(){ //code... }   多次调用: window.onload方法是不能被多次调用的,因为JavaScript的onload事件一次只能保存对一个函数的引用,它会自动用后面的函数覆盖前面的函数

    2.8K20

    关于ajax学习笔记

    所以,每一个功能包,只能向全局暴露唯一的顶层变量,就是这个功能包自己的命名空间。 jQuery、YUI、underscore都是这样的做法。..._JSONtoURLparams(json)); } } })(); 五、关于ajax缓存问题 当Ajax第一次发送请求后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用...(服务端也会收到请求响应304) 浏览器会自作主张的把所有异步请求来的文件缓存,当下一次请求的URL和之前的一样,那么浏览器将不会发送这个请求,而是直接把缓存的内容当做xhr.responseText。...scroll事件,一定是要截流的。因为用户滚一个鼠标滚轮的“小咯噔”就触发一次scroll事件;滑动滚动条的时候,是每一像素触发一次这个事件。...$(window).scroll(function () { //jquery帮我们做了关于滚动的三个兼容处理:总文档高度,已经卷动高度,视口高度 var scrollTop

    2.2K20

    博客 Nuxt.js 移植重构与服务端渲染入门实现

    但是气氛异常神奇,大概就是大型在线秀技现场,我也是第一次感受到这些在职程序员对于「自己的职业满腔的热情和近乎偏执的认可」... 希望今后不要活成他们那样 说回博客。...但是确实保持纯粹很难,因为不是所有问题都有机会去解决,但是又不想让某一部分的用户得不到支持(我太难了) 总之,矛盾着矛盾着还是先把这个需求做了,也就是「前后端分离」,不依赖 WordPress 的网站环境...本次重构便挑选使用了一个其他开发者做的依赖来实现 —— Vue-mugen-scroll(https://www.npmjs.com/package/vue-mugen-scroll),使用方法也很简单快捷...,在 .vue 单文件中可以写 CSS、JavaScript 和 HTML,需要注意的是 标签只能包含一个子元素,需要一个 Div 将所有内容括起来: jQuery', 'vue-i18n': 'VueI18n' }) } ↑ vue-cli 支持修改 webpack 配置 其他功能 其他换用依赖库实现的功能包括: 英文/中文切换

    1.4K30

    第五个页面:更多电影页面

    ---- 实现上滑加载更多数据 以上我们实现了更多电影页面,但是每次只能加载20条电影数据,我们希望能够有一个上滑加载更多数据的功能,所以本节就是演示如何实现这样一个功能。...40-59......以此类推 3.能够实现不断的往后加载数据之后,我们需要将这些数据都整合起来,不然的话数据会进行覆盖,那么每一次加载都只能显示20条数据,这显然不是我们想要的效果。...---- 实现下拉页面重新刷新数据 几乎所有的app里都有下拉页面重新刷新数据的功能,所以我们也希望有一个这样的功能。...不过目前有一个小问题,我们是使用scroll-view组件来实现下滑加载更多数据的,但是130400版本更新后却导致下拉刷新和scroll-view不能同时使用。...那么既然放弃了scroll-view组件,上滑加载更多就不能再使用scroll-view的bindscrolltolower="onScrollLower"事件。

    1.2K20

    前端高薪必会的JavaScript重难点知识:防抖与节流详解

    所以在所有电话号码输入完成后,400ms后就触发了一次查询操作。这样做的好处减少事件回调执行,提高浏览器性能。...当我们滚动浏览器的滚动条时,会频繁触发scroll事件。我们通过监听浏览器scroll事件来断判断滚动条位置,如果滚动条滚动到页面的最底部,则就会加载更多信息。...而我们并不希望每次触发scroll事件都需要去判断滚动条的位置,来决定是否加载更多,我们希望能间隔一定时间(几百毫秒)再判断一次,然后决定是否加载更多。...滚动加载更多源理: 可视区的高度 + 滚动条滚动高度 >=文档高度 (整个滚动高度) 时就触发加载更多信息 未添加节流处理前的效果 scroll事件函数中的代码,在scroll事件触发时会频繁的被执行,...console.log("开始加载更多数据...."); } }; 添加节流处理后的效果 scroll事件中的代码,会在事件触发时,每隔100ms触发一次。

    2.6K00

    利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)

    对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素。若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了。...示例代码请移步: 优点: 不需太多js工作,python+少量js代码即可完成 缺点: 拼接等工作会被WebDriver的实现差异、图片加载速度等因素影响,需多加注意。...这样可以解决像上面那种按需加载图片的情况。...例如,如果我们只截取编程派网站右侧的二维码,可以执行这样一段JQuery代码: $('#main').siblings().remove(); $('#aside__wrapper').siblings..." in browser.title: # break # time.sleep(10) #只截取编程派网站右侧的二维码,可以执行这样一段JQuery代码

    12.1K41
    领券