圆环倒计时我们经常见到,实现的方法也有很多种。但是本文将介绍一种全新的实现方式,使用SVG来实现倒计时功能。

本文主要用到了SVG的stroke-dasharray和stroke-dashoffset特性。下图是倒计时运行效果:

SVG倒计时案例

下面说说相关的实现代码。css实现代码如下:

svg {

transform: rotate(-0.05deg);

}

circle {

transition: stroke-dasharray .2s;

}

.time-count-x {

line-height: 1.5;

position: relative;

}

.time-second {

position: absolute;

top: 50%; left: 0; right: 0;

margin-top: -.75em;

text-align: center;

font-size: 100px;

}

相关html代码如下:

最后是相关JavaScript代码:

var eleCircles=document.querySelectorAll("#timeCountX circle");

var eleTimeSec=document.getElementById("timeSecond");

var perimeter=Math.PI*2*170;

var circleInit=function(){

if(eleCircles[1]){

eleCircles[1].setAttribute("stroke-dasharray","1069 1069")

}

if(eleCircles[2]){

eleCircles[2].setAttribute("stroke-dasharray",perimeter/2+" 1069")

}

eleTimeSec.innerHTML=""

};

var timerTimeCount=null;

var fnTimeCount=function(b){

if(timerTimeCount){

return

}

var b=b||10;

var a=function(){

var c=b/10;

if(eleCircles[1]){

eleCircles[1].setAttribute("stroke-dasharray",perimeter*c+" 1069")

}

if(eleCircles[2]&&b<=5){

eleCircles[2].setAttribute("stroke-dasharray",perimeter*c+" 1069")

}

if(eleTimeSec){

eleTimeSec.innerHTML=b

}

b--;

if(b<0){

clearInterval(timerTimeCount);

timerTimeCount=null;

alert("时间到!");

circleInit()

}

};

a();

timerTimeCount=setInterval(a,1000)

};

fnTimeCount();

整个案例的代码非常少,有喜欢的朋友可以将代码保存到html中,运行一下,体验体验实际效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html 圆环实现多种颜色,SVG实现多彩圆环倒计时效果的示例代码相关推荐

  1. html 圆环实现多种颜色,Echart饼图实现(圆环图)+状态颜色控制

    最近做项目遇到了圆环图以及对于图例颜色值的处理,这里做一个记录,分享给大家. UI图长这样: HTML 其中,resize-chart是封装的自适应组件 JS initTaskChart() { ge ...

  2. android 圆形相机预览拍照_Android多种方式实现相机圆形预览的示例代码

    效果图如下: 一.为预览控件设置圆角 public RoundTextureView(Context context, AttributeSet attrs) { super(context, att ...

  3. svg 实现圆环倒计时效果

    一.先上效果图,项目中需要圆环根据中间的倒计时相应递减: 二.接下来看svg代码实现: (1)css 部分 #svgContainer {position: relative;display: fle ...

  4. html用渐变颜色填充块,SVG颜色、渐变和填充(示例代码)

    颜色 RGB和HSL都是CSS3支持的颜色表示方法,一般普遍使用是RGB. PS:HSL浏览器兼容. RGB RGB即是代表红.绿.蓝三个通道的颜色,通过对红(R).绿(G).蓝(B)三个颜色通道的变 ...

  5. owc_绘图区(PlotArea)背景显示多种颜色

    owc_绘图区(PlotArea)背景显示多种颜色 阅读(62) 评论(0) 发表时间:2008年07月21日 10:28 本文地址:http://www.cnblogs.com/no7dw/admi ...

  6. UE4中多种颜色轮廓线的后期处理

    随着近来虚幻引擎4的一些变化,渲染多种颜色的轮廓线已经可以实现了!通过自定义模板,类似自定义深度的缓冲区--但允许网格作为整数值来渲染.它提供了一个0-255范围,可以在网格上定义不同颜色的轮廓线,甚 ...

  7. TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)

    1.    自定义字体 可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体 所以,我们可以在程序中放入TT ...

  8. 华南农业大学汇编语言综合性实验-将自己的姓名用多种颜色动态显示

    题目名称 综合性实验-将自己的姓名用多种颜色动态显示 题目关键字 综合性实验 华南农业大学综合性.设计性实验报告 实验项目名称: 汇编语言综合设计 实验项目性质: 综合性.设计性实验 所属课程名称: ...

  9. java 导出excel带多种颜色

    导出多种颜色主要有两个细节要注意 否则就只会输出最后一种颜色 第一点: HSSFCellStyle style = wb.createCellStyle(); 这个对象要创建在循环体里面 每一次都获得 ...

最新文章

  1. 基于Vue, Vuex 和 ElementUI 构建轻量单页Hexo主题Lite
  2. 关于bjam编译自己模块出错的问题
  3. python视频处理教程_Python视频编辑库:MoviePy|python爬虫|python入门|python教程
  4. bzoj 3512: DZY Loves Math IV【欧拉函数+莫比乌斯函数+杜教筛】
  5. java 多线程异常_java多线程执行异常
  6. ejb 2.0 3.0_EJB 3.0注入和查找简介
  7. 我对前端技术更新的看法以及未来发展趋势预测
  8. 串口如何接收数据_原创分享 | S71200通过串口服务器读取MODBUS RTU设备
  9. 汇编64位无法生成可用exe_MASM学习x86汇编语言2 寄存器、伪指令与程序调试
  10. mysql冗余_如何合理使用数据库冗余字段的方法
  11. 放飞自我的体验,真无线耳机该如何让选择
  12. C语言程序设计-商品销售管理系统
  13. 网站优化推广怎么做?
  14. Python生成九宫格图片
  15. 山东省下辖16个地级市和山东地形图12.5米
  16. 【AP】Robust multi-period portfolio selection(3)
  17. 如何理解C语言的声明
  18. 为什么高频交易被俄罗斯人垄断?
  19. U盘启动盘重装win7/10系统
  20. 机器学习笔记10——应用机器学习算法的建议

热门文章

  1. 定时任务 cron 表达式详解
  2. java.sql.SQLException: 无法转换为内部表示之解决
  3. js - 执行上下文和作用域以及闭包
  4. java中List Set Map使用
  5. SortedDictionaryTKey,TValue正序与反序排序及Dicttionary相关
  6. Android4.2.2的Stagefright维护编解码器的数据流
  7. AutoMapper搬运工之自定义类型转换
  8. 今天是我开通博客的第一天
  9. 看到一个暴强的翻译,闲的蛋疼,写个c#版的
  10. Expression Blend 学习视频下载