js预加载loading的canvas写法

页面html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>不需要页面图片显示加载</title>
<style>
   html{
    background: gray;
   }
   #loading{
   z-index: 200;
   position: fixed;
   top: 50%;
   left: 50%;
   border:1px solid red;
}
#loading-screen {
   display: block;
   position: absolute;
   text-align: center;
   width: 60px;
   height: 60px;
   top: 50%;
   -webkit-transform: translate(-50%,-50%);
   transform: translate(-50%,-50%);
   left: 50%;
   background: white;
   border-radius: 5px;
   z-index: 500;
}
#canvas-font-wrap{
    font-family: ‘微软雅黑‘;
    position:relative;
    height: 60px;
    width:60px;
    line-height: 60px;
    text-align: center;
    color: darkgray;
}
.font-center{
    height: 48px;
    width:48px;
    border:2px solid rgb(223,223,223);
    border-radius: 25px;
    line-height:48px;
    position: absolute;
    left: 4px;
    top:4px;
}

#loading-screen .vip-cvs {
   position: absolute;
   left: 0;
   top: 0;
   -webkit-transform: translate(-25%,-25%) scale(0.5);
   transform: translate(-25%,-25%) scale(0.5);
}
</style>
</head>
<body>
<div id="loading">
   <div id=‘loading-screen‘>
    <div id="canvas-font-wrap"style="">
    <div class="font-center" style="">cpp</div>
    </div>
       <canvas class=‘vip-cvs‘ width=‘120‘ height=‘120‘ id="canvas"></canvas>
   </div>
</div>
<!--//js路径更改自己的路径-->
<script type="text/JavaScript" src="../js/jQuery.min.js" ></script>
<!--js路径更改自己的路径-->
<script type="text/javascript" src="../js/loadAnimation.js" ></script>
<script type="text/javascript">
showLoadingScreen();
</script>
</body>
</html>

  

页面加载打圈的js写法:

 1 /**
 2
 3  * Created by chenxiaopeng on 2016/10/13.
 4  */
 5 var loadingHandel = null;
 6 function initLoadingAnimate() {
 7     var step = 0;
 8     var bg = $(‘.vip-cvs‘)[0];
 9     var ctx = bg.getContext(‘2d‘);
10     var imd = null;
11     var circ = Math.PI * 2;
12     var quart = Math.PI / 2;
13     var lineColor = ‘#e5007f‘;
14     var backforward = true;
15
16
17     ctx.clearRect(0, 0, 120, 120);
18     ctx.beginPath();
19     ctx.strokeStyle = lineColor;
20     ctx.lineCap = ‘square‘;
21     ctx.closePath();
22     ctx.fill();
23     ctx.lineWidth = 2.8;
24     imd = ctx.getImageData(0, 0, 120, 120);
25
26     var draw = function(current) {
27         ctx.putImageData(imd,0,0,0,0,120,120);
28         ctx.beginPath();
29         ctx.arc(60, 60, 50, -(quart), ((circ) * current) - quart, backforward);
30         ctx.stroke();
31     }
32     function stepDraw() {
33     //draw(0.5);
34         step += 0.01;
35         draw(step);
36         if (step >= 0.99) {
37             step = 0;
38             if (!backforward) {
39                 backforward = true;
40             } else {
41                 backforward = false;
42             }
43         }
44     }
45     loadingHandel = setInterval(stepDraw, 10);
46 }
47
48 function clearLoadingAnimation() {
49     clearInterval(loadingHandel);
50 }
51
52 function showLoadingScreen() {
53     initLoadingAnimate();
54     $(‘#loading‘).show();
55 }
56
57 function hideLoadingScreen() {
58     clearLoadingAnimation();
59     $(‘#loading‘).hide();
60 }

//需要引进jquery,整个页面没有图片,很棒。

时间: 2024-10-05 13:08:24

js预加载loading的canvas写法的相关文章

30种CSS3炫酷页面预加载loading动画特效

这是一组效果非常炫酷的CSS3页面预加载loading动画特效.该特效共有30种不同的loading效果.所有的加载动画都是使用CSS3来完成,jQurey代码只是用于隐藏加载动画.当你点击页面的任何一个地方时,loading动画就会被隐藏. 这30种loading动画分为3组:方形加载动画特效.圆形加载动画特效和长条形加载动画特效.每一种效果都有一个单独的页面,你可以对应查看每种效果的CSS代码. 效果演示:http://www.htmleaf.com/Demo/201504151683.ht

js预加载/延迟加载

Pre loader 预加载一般有两种常用方式:xhr和动态插入节点的方式.动态插入节点是最为简单也最为广泛的一种异步加载方式,然后使用动态插入节点方法加载的文件都会 在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css 的执行更有可能让整个页面变化.xhr方式虽然不会执行脚本,但是由于同域的限制 Lazy loader方式在一些图片非常多的网站中非常有用,在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置才加载,这

js 预加载图片image()函数

创建一个Image对象:var a=new Image();    定义Image对象的src: a.src=”xxx.gif”;    这样做就相当于给浏览器缓存了一张图片. 图像对象: 建立图像对象:图像对象名称=new Image([宽度],[高度]) 图像对象的属性: border complete height hspace lowsrc name src vspace width 图像对象的事件:onabort onerror onkeydown onkeypress onkeyup

加载loading的ajax写法

ajaxStart()与ajaxStop():当Ajax请求开始时,会触发ajaxStart()方法的回调函数.当Ajax请求结束时,会触发ajaxStop()方法的回调函数.这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有Ajax请求发生时,就会触发它们. 有时候页面需要加载一些图片,可能速度回比较慢,如果在加载过程中,不给用户提供一些提示和反馈信息,很容易让用户误认为按钮单击无用,使用户对网站失去信息. 此时,我们就需要为网页添加一个提示信息,常用的提示信息是“加载中...”,

js 预加载

01.window.onload = function() { 02. 03. setTimeout(function() { 04. 05.// reference to <head> 06. var head = document.getElementsByTagName('head')[0]; 07. 08. 09.// a new CSS 10. var css = document.createElement('link'); 11. css.type = "text/cs

用javascript预加载图片、css、js的方法研究

预加载的好处可以让网页更快的呈现给用户,缺点就是可能会增加无用的请求(但图片.css.js这些静态文件可以被缓存),如果用户访问的页面里面的css.js.图片被预加载了,用户打开页面的速度会快很多,提升用户体验.在用到一些大图片展示的时候,预加载大图是很不错的方法,图片更快的被呈现给用户.不多说了,作为一个前端攻城师都懂的,下面分享我做的测试和得到的结果. 先说需要知道的服务器返回的status code:status-code: 200 - 客户端请求成功status-code: 304 -

jquery实现图片预加载

使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理. 什么时候使用图片预加载? 如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载: $.preloadImages = function () { for (var i = 0; i < arguments.length; i++) { $('img').attr('src', arguments[i]); }};$.preloadImages('img/hover-on.png'

现代浏览器JS异步加载方案

好,不说废话,要凌晨了我快点写完,关于JS加载阻塞之类的不做科普,本文也不讨论IE9以下的浏览器. headjs:"异步.并行加载并按你的顺序执行",这个是最符合广大码农需求的,只是它越来越臃肿,连CSS Respone什么的都加进去了,没必要那么复杂 Loadjs:今天刚刚出现在OSC首页本人疯狂测试后发现,如果需要并行加载就是乱序的(哪个JS先下载完就先执行谁),如果要顺序下载就不能并发,经测试是下载一个执行一个,每个JS文件之间有10ms的空隙(JS下载和加载时所有渲染操作都要暂

简单理解预加载技术

预加载原理就是在浏览器加载页面的时候先创建一个对象,然后填充数据,从而达到预先加载的效果.(即按照文档流顺序,先利用js加载函数去加载图片,然后在渲染dom元素) 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js预加载</title> </head> <script> //针对firefox window