`
newbee_zc
  • 浏览: 30948 次
文章分类
社区版块
存档分类
最新评论

html5实现动态环形进度条

 
阅读更多

本文记录了利用html5的新特性,实现动态环形进度条,不依赖jquery等其他任何插件。

以下为详细代码:

  

<!DOCTYPE html>
<html>
   <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        
    </head>
    <body>   
		<canvas id="myCanvas" width="96px" height="96px"></canvas>  
    </body>
	<script type="text/javascript">
	//画圆方法
             function drawArc(canvas,begin,end,color)
              {
				   
					 canvas.beginPath();

                     canvas.lineWidth = 6;

                     canvas.fillStyle = "#ffffff";

                     canvas.strokeStyle = color;

                     canvas.arc(48, 48, 40, begin,end);

                     canvas.fill();

                     canvas.stroke();

                     canvas.closePath();
					
              }
			
			 //添加文字方法
			  function drawWord(canvas,text){
				canvas.font = 'bold 20px arial';
				canvas.fillStyle = 'red';
				canvas.fillText(text, 30,53);
			  }
			  
			  //每100毫秒画一次,300毫秒完成
			  function darwPro(id,rate){
			  
				//获取画布对象
				var canvasID = document.getElementById("myCanvas");
				var canvas = canvasID.getContext("2d");
				
				//先画背景
				 drawArc(canvas,-0.5*Math.PI,1.5*Math.PI,"#EDEDED");
				
				//setInterval()函数至少执行一次(当rate为零时直接返回)
				 if(rate == 0){
				   return;
				 }
				
				//为了体现动态图使用分段画图的策略
			     var begin = -0.5*Math.PI;//起始角度
				 var end = 2*Math.PI*rate-0.5*Math.PI;//结束角度
				 var add = 2*Math.PI*rate/10;//分段的增量
				 
				 //分10次完成每次间隔50毫秒
				 var sid = setInterval(function(){
				   if(begin >= end){
				      clearInterval(sid);
					  return;//此处必须return;因为即使clearInterval,函数仍然会执行一次导致比例不准确
				   }
				   drawArc(canvas,begin, begin + add,"red");
				   //下次起始位置置为上次结束的位置
				   begin = begin + add;			   
				 }, 50);
				 
				 //显示百分比的文字
				 drawWord(canvas,rate*100 + "%");
			  }
	          
			  darwPro("myCanvas",0.4);
	</script>
</html>



 文章写的比较简单,仅仅供个人学习记录!

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    近20款样式的HTML5环形进度条插件

    然而,HTML5标准本身并未提供环形进度条的功能,因此大部分环形进度条效果是通过CSS3和JavaScript来实现的。 1. CSS3:利用CSS3的`border-radius`属性可以将矩形的`&lt;progress&gt;`标签转化为圆形,然后通过`stroke-...

    基于html5的纯js+css实现环形进度条

    使用html5的canvas插件,配合css3就可以在页面上画出漂亮的环形进度条。

    环形进度条(兼容IE7+)

    jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和AJAX交互,而`cycle.js`可能是一个自定义的插件,专门用于实现环形进度条的动态变化。 `jquery.js`中的代码可能包括初始化进度条、更新进度值以及...

    svg环形进度条兼容ie8

    在实现环形进度条时,我们首先定义一个圆形路径,然后使用stroke-dasharray属性来创建虚线效果,模拟进度条。通过改变stroke-dashoffset值,我们可以动画化进度条的填充,使其看起来像是在逐渐填充。为了实现延迟...

     环形进度条

    在编程实现环形进度条时,开发者通常会用到图形库或者框架,如HTML5的Canvas API、SVG(Scalable Vector Graphics)或者各种UI组件库。例如,使用Canvas绘制环形进度条时,需要计算弧度、设置渐变、绘制路径等步骤;...

    基于canvas 2D实现微信小程序自定义组件-环形进度条

    本教程将探讨如何利用canvas 2D API来实现一个高效、可定制的环形进度条自定义组件。Canvas 2D 提供了一套丰富的绘图接口,让我们能够动态绘制复杂的图形,如环形进度条。 首先,我们需要了解canvas的基本使用。在...

    环形进度条环形进度条环形进度条

    在实现环形进度条时,开发者通常会使用HTML、CSS和JavaScript技术。CSS3提供了强大的样式和动画功能,可以创建出动态的环形效果。例如,通过使用`border-radius`属性创建圆角,`rotate`和`transform`属性进行旋转,...

    使用CSS3实现环形进度条效果

    要实现环形进度条,首先需要一个合理的HTML结构。通常,我们会使用一个带有类名的`div`元素作为环形进度条的容器。在这个容器内部,我们会再创建两个或多个`div`元素来分别表示不同的进度层。例如,一个用于表示已...

    HTML5 环形进度条显示百分比 运用CSS3技术实现.rar

    在本案例中,“HTML5 环形进度条显示百分比 运用CSS3技术实现”是一个展示如何利用这两者来创建具有视觉吸引力的动态元素的示例。环形进度条是一种常见的用户界面组件,它能直观地展示任务或数据加载的进度,通常...

    环形进度条控件

    环形进度条控件在IT领域中是一种常见的用户界面元素,尤其在移动应用...通过结合HTML、CSS、JavaScript以及可能的SVG技术,我们可以创建出具有动态效果、交互性和无障碍性的环形进度条控件,以提升应用程序的用户体验。

    canvas画环形进度条

    接下来,我们将在`CanvasTest.js`中编写JavaScript代码来实现环形进度条。首先,获取`canvas`元素并设置绘图环境: ```javascript const canvas = document.getElementById('progressCanvas'); const ctx = canvas....

    canvas实现环形进度条效果

    Canvas 实现环形进度条效果 本文主要介绍了使用 Canvas 实现环形进度条效果的实例,具有很好的参考价值。下面,我们来详细介绍这个实例。 知识点 1:Canvas 基础 Canvas 是 HTML5 中的一个重要元素,用于创建图形...

    canvas-arc-draw-master环形进度条

    在H5(HTML5)中,我们可以利用canvas元素来实现自定义的环形进度条。`canvas-arc-draw-master`项目就是一个示例,它展示了如何通过JavaScript操纵canvas绘制动态的环形加载效果。下面将详细讲解相关知识点。 1. **...

    Jindutiao.rar_环形进度条_进度条 纵向

    在"Jindutiao.rar"中,我们可以推测作者可能使用了HTML5的Canvas或者SVG元素来绘制环形进度条,因为这两种技术都支持动态图形的创建和更新。同时,可能还结合了CSS3来处理样式和动画效果,以实现鼠标驱动的进度控制...

    JS实现环形进度条(从0到100%)效果

    3. JavaScript实现:实现环形进度条的核心技术依赖于JavaScript。首先通过引入jQuery库以及一个专门用于绘制环形进度条的插件(radialIndicator.js),使得JavaScript能够方便地操作DOM,并调用插件提供的方法来创建...

    微信小程序自定义组件实现环形进度条

    总结起来,微信小程序自定义组件实现环形进度条的关键在于理解组件的结构、属性和逻辑,以及如何利用`canvas`元素进行图形绘制。开发者需要具备JavaScript基础,熟悉微信小程序的API,以及一定的CSS布局知识。在实际...

    canvans写的环形进度条

    在给定的压缩包文件“网页环形进度条”中,可能包含了使用Canvas和CSS实现环形进度条的示例代码。通过学习这些代码,你可以更深入地理解这两种技术如何协同工作来创建动态和交互式的网页元素。 总结一下,Canvas和...

    jQuery+CSS3实现的双层圆环形进度条加载动画特效.zip

    在本资源中,"jQuery+CSS3实现的双层圆环形进度条加载动画特效.zip",开发者利用了JavaScript库jQuery以及CSS3的强大功能,创建了一个引人注目的双层圆环形进度条加载动画效果。这个效果可以广泛应用于网页加载、...

Global site tag (gtag.js) - Google Analytics