返回顶部
首页 > 资讯 > 前端开发 > html >HTML 5中怎么实现缓冲效果
  • 743
分享到

HTML 5中怎么实现缓冲效果

2024-04-02 19:04:59 743人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关html 5中怎么实现缓冲效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。这里是案例的演示代码:<!doctype&nb

这篇文章将为大家详细讲解有关html 5中怎么实现缓冲效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

这里是案例的演示代码:

<!doctype html>   <html>     <head>      <meta Http-equiv="content-type" content="GBK"/>      <title>loading</title>      <script type="text/javascript">       function loading(canvas,options){         this.canvas = canvas;         if(options){           this.radius = options.radius||12;           this.circleLineWidth = options.circleLineWidth||4;           this.circleColor = options.circleColor||'lightgray';           this.dotColor = options.dotColor||'gray';         }else{           this.radius = 12;           this.circelLineWidth = 4;           this.circleColor = 'lightgray';           this.dotColor = 'gray';         }       }       loading.prototype = {         show:function (){           var canvas = this.canvas;           if(!canvas.getContext)return;           if(canvas.__loading)return;           canvas.__loading = this;           var ctx = canvas.getContext('2d');           var radius = this.radius;           var rotators = [{angle:0,radius:1.5},{angle:3/radius,radius:2},{angle:7/radius,radius:2.5},{angle:12/radius,radius:3}];           var me = this;           canvas.loadingInterval = setInterval(function(){             ctx.clearRect(0,0,canvas.width,canvas.height);             var lineWidth = me.circleLineWidth;             var center = {x:canvas.width/2 - radius,y:canvas.height/2-radius};             ctx.beginPath();             ctx.lineWidth = lineWidth;             ctx.strokeStyle = me.circleColor;             ctx.arc(center.x,center.y,radius,0,Math.PI*2);             ctx.closePath();             ctx.stroke();             for(var i=0;i<rotators.length;i++){               var rotatorAngle = rotators[i].currentAngle||rotators[i].angle;               //在圆圈上面画小圆               var rotatorCenter = {x:center.x-(radius)*Math.cos(rotatorAngle) ,y:center.y-(radius)*Math.sin(rotatorAngle)};               var rotatorRadius = rotators[i].radius;               ctx.beginPath();               ctx.fillStyle = me.dotColor;               ctx.arc(rotatorCenter.x,rotatorCenter.y,rotatorRadius,0,Math.PI*2);               ctx.closePath();               ctx.fill();               rotators[i].currentAngle = rotatorAngle+4/radius;             }           },50);         },         hide:function(){           var canvas = this.canvas;           canvas.__loading = false;           if(canvas.loadingInterval){             window.clearInterval(canvas.loadingInterval);           }           var ctx = canvas.getContext('2d');           if(ctx)ctx.clearRect(0,0,canvas.width,canvas.height);         }       };       </script>     </head>     <body>       <canvas id="canvas" width="300" height="100" style="border:1px solid #69c"></canvas>       <p>       <input type="button" onclick="loadinGobj.hide()" value="HideLoading"/>       <input type="button" onclick="loadingObj.show()" value="showLoading"/>   </style>       <p>       <script>       var loadingObj = new loading(document.getElementById('canvas'),{radius:8,circleLineWidth:3});       loadingObj.show();       </script>     </body>   </html>

第二个较为简单,在一个圆环上有一个相同圆心相同半径的圆弧在不停的转动。画图的步骤是首先画一个圆环,然后画一个不同颜色相同圆心半径的圆弧,在每次刷新画布时改变圆弧的起始角度。

这里是案例的演示代码:

<!doctype html>   <html>   <head>     <meta http-equiv="content-type" content="text/html;charset=gbk"/>     <title>loading</title>     <script>             function loading(canvas,options){         this.canvas = canvas;         if(options){           this.radius = options.radius||12;           this.circleLineWidth = options.circleLineWidth||4;           this.circleColor = options.circleColor||'lightgray';           this.moveArcColor = options.moveArcColor||'gray';         }else{           this.radius = 12;           this.circelLineWidth = 4;           this.circleColor = 'lightgray';           this.moveArcColor = 'gray';         }       }       loading.prototype = {         show:function (){           var canvas = this.canvas;           if(!canvas.getContext)return;           if(canvas.__loading)return;           canvas.__loading = this;           var ctx = canvas.getContext('2d');           var radius = this.radius;           var me = this;           var rotatorAngle = Math.PI*1.5;           var step = Math.PI/6;           canvas.loadingInterval = setInterval(function(){             ctx.clearRect(0,0,canvas.width,canvas.height);             var lineWidth = me.circleLineWidth;             var center = {x:canvas.width/2 - radius,y:canvas.height/2-radius};             ctx.beginPath();             ctx.lineWidth = lineWidth;             ctx.strokeStyle = me.circleColor;             ctx.arc(center.x,center.y,radius,0,Math.PI*2);             ctx.closePath();             ctx.stroke();             //在圆圈上面画小圆             ctx.beginPath();             ctx.strokeStyle = me.moveArcColor;             ctx.arc(center.x,center.y,radius,rotatorAngle,rotatorAngle+Math.PI*.45);             ctx.stroke();             rotatorAngle+=step;           },50);         },         hide:function(){           var canvas = this.canvas;           canvas.__loading = false;           if(canvas.loadingInterval){             window.clearInterval(canvas.loadingInterval);           }           var ctx = canvas.getContext('2d');           if(ctx)ctx.clearRect(0,0,canvas.width,canvas.height);         }       };       </script>     </head>     <body>       <canvas id="canvas" width="300" height="100" style="border:1px solid #69c">您的浏览器不支持HTML5哟</canvas>       <p>       <input type="button" onclick="loadingObj.hide()" value="HideLoading"/>       <input type="button" onclick="loadingObj.show()" value="showLoading"/>       </p>       <script>       var loadingObj = new loading(document.getElementById('canvas'),{radius:8,circleLineWidth:3});       loadingObj.show();       </script>     </body>   </html>

关于HTML 5中怎么实现缓冲效果就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: HTML 5中怎么实现缓冲效果

本文链接: https://lsjlt.com/news/74783.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • HTML 5中怎么实现缓冲效果
    这篇文章将为大家详细讲解有关HTML 5中怎么实现缓冲效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。这里是案例的演示代码:<!doctype&nb...
    99+
    2024-04-02
  • css3缓冲和等待效果怎么实现
    这篇文章主要介绍“css3缓冲和等待效果怎么实现”,在日常操作中,相信很多人在css3缓冲和等待效果怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css3缓冲和等待效...
    99+
    2024-04-02
  • js怎么实现返回顶部缓冲效果
    这篇文章将为大家详细讲解有关js怎么实现返回顶部缓冲效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运行原理通过定时器30毫秒执行一次滚动条上升,每次上升的高度为当前高...
    99+
    2024-04-02
  • MySQL中怎么实现查询缓冲
    今天就跟大家聊聊有关MySQL中怎么实现查询缓冲,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如何调整MySQL查询缓冲QueryCache(下面简...
    99+
    2024-04-02
  • html5缓动效果怎么实现
    这篇文章主要介绍“html5缓动效果怎么实现”,在日常操作中,相信很多人在html5缓动效果怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5缓动效果怎么实现”...
    99+
    2024-04-02
  • HTML怎么实现波浪效果
    这篇文章主要介绍了HTML怎么实现波浪效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  <div> <hgr...
    99+
    2024-04-02
  • HTML 5代码可实现的视觉效果有哪些
    今天就跟大家聊聊有关HTML 5代码可实现的视觉效果是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。HTML 5 ~= HTML + CSS + JS APIs,在Html5引...
    99+
    2023-06-17
  • 使用css3怎么实现一个冲击波效果
    使用css3怎么实现一个冲击波效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现思路:观察波由小变大,涉及的css3属性变化有width,height,left,top,o...
    99+
    2023-06-08
  • JS如何实现侧边栏鼠标经过弹出框+缓冲效果
    这篇文章主要为大家展示了“JS如何实现侧边栏鼠标经过弹出框+缓冲效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现侧边栏鼠标经过弹出框+缓冲效果”这...
    99+
    2024-04-02
  • 怎么用html实现流星雨的效果
    小编给大家分享一下怎么用html实现流星雨的效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   <!doctypeh...
    99+
    2024-04-02
  • HTML怎么实现镂空遮盖层效果
    本文小编为大家详细介绍“HTML怎么实现镂空遮盖层效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“HTML怎么实现镂空遮盖层效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • html广告轮播图效果怎么实现
    要实现一个HTML广告轮播图效果,可以使用以下方法之一:1. 使用JavaScript库:例如,可以使用jQuery插件(如Slic...
    99+
    2023-08-09
    html
  • 怎么在html中实现一个markdown编辑器效果
    今天就跟大家聊聊有关怎么在html中实现一个markdown编辑器效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一:下载Editor.md进入官网直接进行下载使用npm进行下载n...
    99+
    2023-06-09
  • HTML 5中怎么实现链接预取功能
    HTML 5中怎么实现链接预取功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。它是这样工作的,在页面上添加一个像这样的链接:...
    99+
    2024-04-02
  • C++怎么实现print缓冲区的刷新
    这篇文章主要讲解了“C++怎么实现print缓冲区的刷新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么实现print缓冲区的刷新”吧!printf缓冲区问题以下内容在Linux测试...
    99+
    2023-06-30
  • 怎么用JAVA实现简单Thread缓冲池
    本篇内容主要讲解“怎么用JAVA实现简单Thread缓冲池”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用JAVA实现简单Thread缓冲池”吧!在应用中,我们常常需要Thread缓冲池来做...
    99+
    2023-06-03
  • html网页中如何实现居中效果
    这篇文章主要介绍“html网页中如何实现居中效果”,在日常操作中,相信很多人在html网页中如何实现居中效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html网页中如何实...
    99+
    2024-04-02
  • javascript实现缓动动画效果
    本文实例为大家分享了javascript实现缓动动画效果的具体代码,供大家参考,具体内容如下 实现思路 1、主要使用setInterval定时函数 2、给需要动画的元素添加绝对定位和...
    99+
    2024-04-02
  • html中翻转效果的实现方法
    小编给大家分享一下html中翻转效果的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html翻转效果的实现方法:首先将两个要展示的图片利用定位重叠在一起;...
    99+
    2023-06-15
  • html怎么实现鼠标经过展开效果
    本篇内容主要讲解“html怎么实现鼠标经过展开效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html怎么实现鼠标经过展开效果”吧!   分析   我们观...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作