HTML5+javascript实现图片加载进度动画效果
在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个。
图片加载完后,隐藏loading效果。
想看加载效果,请ctrel+F5强制刷新或者清理缓存。
效果预览:
代码如下:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>HTML5+javascript实现图片加载进度动画效果</title>
<style>
.loading {width:200px;height:200px;position:relative;margin:50px auto;border:1px solid #f90;border-radius:%;}
.dot {width:%;;height:%;animation:rond .8s infinite;-webkit-animation:rond .8s infinite;}
.dot:after {width:10px;height:10px;position:absolute;top:-5px;left:90px;content:"";display:table;background-color:#f50;border-radius:%;}
.num {width:%;height:%;position:absolute;top:;left:;line-height:200px;text-align:center;font-size:20px;color:#f60;}
@keyframes rond {
% {transform:rotate(0deg);}
% {transform:rotate(360deg);}
}
@-webkit-keyframes rond {
% {-webkit-transform:rotate(0deg);}
% {-webkit-transform:rotate(360deg);}
} .photo {width:860px;margin: auto;display:none;text-align:center;}
.photo img {width:200px;margin: 5px;border:1px solid #ddd;border-radius:5px;}
</style>
</head>
<body> <div class="loading">
<div class="dot"></div>
<div class="num">%</div>
</div> <div class="photo"></div> <script> var loading = document.querySelector(".loading"),
num = document.querySelector(".num"),
photo = document.querySelector(".photo"),
imgs = [
"http://img4.cache.netease.com/photo/0001/2015-03-16/AKQU47JM00AP0001.jpg",
"http://img3.cache.netease.com/photo/0001/2015-03-16/AKQU47OJ00AP0001.jpg",
"http://img3.cache.netease.com/photo/0001/2015-03-16/AKQU482200AP0001.jpg",
"http://img6.cache.netease.com/photo/0001/2015-03-16/AKQU486800AP0001.jpg",
"http://img5.cache.netease.com/photo/0001/2015-03-16/AKQU48C000AP0001.jpg",
"http://img1.gtimg.com/12/1206/120657/12065709_1200x1000_0.jpg",
"http://img1.gtimg.com/12/1206/120657/12065712_1200x1000_0.jpg",
"http://img1.gtimg.com/12/1206/120657/12065713_1200x1000_0.jpg"
],
len = imgs.length; for (var i=; i<len; i++){
var img = new Image();
img.src = imgs[i];
img.onload = function () {
i--;
num.innerHTML = ((len-i) * / len) + "%";
photo.innerHTML += "<img src='"+imgs[i]+"'>";
if (i == ){
photo.style.display = "block";
loading.style.display = "none";
}
};
} </script>
</body>
</html>
判断页面加载完
document.onreadystatechange = function () {
if(document.readyState == "complete") {
alert("OK!");
}
}
HTML5+javascript实现图片加载进度动画效果的更多相关文章
- 仿UC浏览器图片加载进度条
前几天用UC浏览器看新闻(无意中给UC打了广告),看到它的图片加载进度条,正好最近有时间,所以就自己写了一个. 效果图如下 进度条的底色和填充颜色都可以调整. 首先中间的笑脸作为一个整体,其实现代码如 ...
- Android 自定义View修炼-自定义加载进度动画XCLoadingImageView
一.概述 本自定义View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进度颜色. ...
- Android酷炫加载进度动画
概述 本自定义动画进度酷炫View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进 ...
- 炫!一组单元素实现的 CSS 加载进度提示效果
之前的文章个大家分享过各种类型的加载效果(Loading Effects),这里再给大家奉献一组基于单个元素实现的 CSS 加载动画集合.这些加载效果都是基于一个 DIV 元素实现的,十分强悍. 温馨 ...
- [Swift通天遁地]五、高级扩展-(11)图像加载Loading动画效果的自定义和缓存
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- css3 linear-gradient实现页面加载进度条效果
最终效果图: html结构: <div> <p class="p1"> <span></span> < ...
- 【React Native】进阶指南之一(特定平台、图片加载、动画使用)
一.特定平台代码 React Native提供了两种方法来区分平台: 使用Platform模块: 使用特定平台扩展名: 1.Platform模块 React Native提供了一个检测当前运行平台的模 ...
- 【JavaScript】图片加载由模糊变清晰 —— 图片优化
开发过程中,一些图片的展示时,加载很慢很久,后来把图片缩放压成缩略图吧,速度是快了但是模糊不清,如何处理这样问题,下面就和大家分享一下自己的处理方法. 先让客户端加载像素小的缩略图: <img ...
- js实现页面图片加载进度条
//html <div id="loading" class="loading"> <div class="load"&g ...
随机推荐
- 谈谈自己了解的spring.NET的依赖注入
spring.net里实现了控制反转IOC(Inversion of control),也即依赖注入DI(Dependency Injection),以达到解耦的目的,实现模块的组件化.程序 ...
- [Xamarin] 簡單使用AlertDialog (转帖)
這東西跟Toast 很像,有方便提示的作用 像是Windows 上面的MessageBox 或是 Javascript 的 Alert 會先阻斷使用者並且下一個決定 很簡單我就不贅述,基本上透過 Al ...
- ASP.NET Core 源码阅读笔记(2) ---Microsoft.Extensions.DependencyInjection生命周期管理
在上一篇文章中我们主要分析了ASP.NET Core默认依赖注入容器的存储和解析,这一篇文章主要补充一下上一篇文章忽略的一些细节:有关服务回收的问题,即服务的生命周期问题.有关源码可以去GitHub上 ...
- 【Leetcode】【Medium】Group Anagrams
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
- 基于 IdentityServer3 实现 OAuth 2.0 授权服务【密码模式(Resource Owner Password Credentials)】
密码模式(Resource Owner Password Credentials Grant)中,用户向客户端提供自己的用户名和密码.客户端使用这些信息,向"服务商提供商"索要授权 ...
- jQuery插件之验证控件jquery.validate.js
今天学习一下jQuery.Validate插件,为便于日后翻阅查看和广大博客园园友共享,特记于此. 本博客转载自:jQuery Validate jQuery Validate 插件为表单提供了强大的 ...
- AngularJS快速入门指南08:表格
ng-repeat指令非常适合用来显示表格. 在表格中显示数据 在AngularJS中显示表格非常容易: <div ng-app="myApp" ng-controller= ...
- C++ 关联容器
<C++ Primer 4th>读书笔记 关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素. 关联容器(Ass ...
- Atitit.现实生活中最好使用的排序方法-----ati排序法总结
Atitit.现实生活中最好使用的排序方法-----ati排序法总结 1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置 )//归并排序//基数排 ...
- 更改Linux默认栈空间的大小
有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误.这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小 ...