导航:首页 > 编程语言 > js初始化加载图片

js初始化加载图片

发布时间:2025-09-19 06:29:45

javascript图片预加载和延时加载的区别

javascript图片预加载和延时加载的区别主要体现在图片传输到客户端的时机上,都是为了提升用户体验的,延时加载又叫懒加载。
两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。
预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。
实现方式: 可以用CSS(background)、js(Image)、HTML(<img />)都可以。常用的是new Image();设置其src来实现预载,再使用onload方法回调预载完成事件。只要浏览器把图片下载到本地,同样的src就会使用缓存,这是最基本也是最实用的预载方法。当Image下载完图片头后,会得到宽和高,因此可以在预载前得到图片的大小(方法是用记时器轮循宽高变化)。
懒加载:主要目的是作为服务器前端的优化,减少请求数或延迟请求数,一些图片非常多的网站中非常有用,在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才加载,这样对于含有很多 图片的比较长的网页来说,可以加载的更快,并且还能节省服务器带宽。,实现方式:
1.第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟.
2.第二种是条件加载,符合某些条件,或触发了某些事件才开始异步下载。
3.jQuery插件中也有插件来实现该功能。
4.第三种是可视区加载,即仅加载用户可以看到的区域,这个主要由监控滚动条来实现,一般会在距用户看到某图片前一定距离遍开始加载,这样能保证用户拉下时正好能看到图片。
预加载核心代码参考:
document.getElementById("preload-01").style.background = "url(http://expsoft.com/image-01.png) no-repeat -9999px -9999px";

img1 = new Image();img1.src = "http://expsoft.com/path/to/image-001.gif";
if (img1.complete) { ready.call(img); load && load.call(img);
callback.call(img1,img1.width, img1.height);
return; }// 直接返回,不用再处理onload事件
img1.onload = function(){ callback.call(img1,img1.width, img1.height); };
懒加载核心代码参考:
.lazy {
display: none;
}
<img class="lazy" src="img/grey.gif" data-original="img/example.jpg" width="640" heigh="480">
必须在 DOM ready 时将占位符显示出来, 这可以在插件初始化的同时完成.

$("img.lazy").show().lazyload();

设置敏感度,默认情况下图片会出现在屏幕时加载. 如果你想提前加载图片, 可以设置 threshold 选项, 设置 threshold 为 200 令图片在距离屏幕 200 像素时提前加载.
$("img.lazy").lazyload({ threshold : 200 });

❷ 原生 JS 封装三种 loading 动画

原生 JS 可以封装以下三种 loading 动画

  1. 第一种动画

    • 通过在 loading.js 文件中定义 init 方法初始化动画。
    • 根据 type 值的不同,设置 loading 的 innerHTML 来呈现独特的动画表现。
    • 结合 loading.css 中的样式设计,可能包括布局和旋转等效果,例如通过两个正方形叠加并旋转 45° 来实现特定的小球排列效果。
  2. 第二种动画

    • 同样使用 init 方法进行初始化。
    • 动画逻辑与第一种动画在 JS 部分高度相似,主要通过复用代码实现。
    • 在 loading.css 中调整相关参数,以实现与第一种动画不同的视觉效果。
    • 动画过程中同样涉及到子节点的删除,以确保动画流畅。
  3. 第三种动画

    • 初始化过程与前两种动画一致,使用 init 方法。
    • 在动画实现上,复用第一种或第二种动画的 JS 代码,并调整相关参数以达到新的动画效果。
    • loading.css 中的样式设计也会进行相应调整,以实现独特的加载动画。
    • 同样注重动画过程中的流畅性,确保子节点的适时删除。

总结: 这三种加载动画的实现均依赖于原生 JS 和 CSS 的结合。 通过定义 init 方法并设置不同的 type 值,可以呈现多样化的动画效果。 动画的流畅性通过精心设计的 JS 逻辑和 CSS 样式得到保障。

阅读全文

与js初始化加载图片相关的资料

热点内容
如何建立共享数据表 浏览:247
ps存储覆盖了源文件 浏览:668
如何找出合计数的数据 浏览:475
笔记本doc文件在哪里 浏览:206
文件类的东西包括哪些 浏览:442
js初始化加载图片 浏览:616
哪些网站可以下文件 浏览:910
米64g网络怎么开 浏览:502
2017互联网java面试题 浏览:907
供求网站源码 浏览:195
童程童美编程加盟怎么样 浏览:895
app美团如何下载 浏览:197
弄画框用什么app 浏览:814
java获取网页图片 浏览:193
jsp集合对象转json 浏览:231
文件柜在cad里面长啥样 浏览:554
iphone手机文件保存在哪里 浏览:817
解压文件后要刷新 浏览:786
cc数据库怎么获得时间 浏览:226
ug3d硬料开出怎么编程 浏览:151

友情链接