SVG怎样开始实现多彩圆环倒计时

这次给大家带来SVG怎样开始实现多彩圆环倒计时,怎样用SVG实现多彩圆环倒计时?SVG实现多彩圆环倒计时的注意事项有哪些,下面就是实战案例,一起来看一下。

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

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代码如下:

<div id=timeCountX class=time-count-x>
    <svg width=440 height=440 viewBox=0 0 440 440 class=center>
        <defs>
            <linearGradient x1=1 y1=0 x2=0 y2=0 id=gradient1>
                <stop offset=0% stop-color=#e52c5c></stop>
                <stop offset=100% stop-color=#ab5aea></stop>
            </linearGradient>
           <linearGradient x1=1 y1=0 x2=0 y2=0 id=gradient2>
                <stop offset=0% stop-color=#4352f3></stop>
                <stop offset=100% stop-color=#ab5aea></stop>
            </linearGradient>
        </defs>
        <g transform=matrix(0,-1,1,0,0,440)>
            <circle cx=220 cy=220 r=170 stroke-width=50 stroke=#f0f1f5 fill=none stroke-dasharray=1069 1069></circle>
            <circle cx=220 cy=220 r=170 stroke-width=50 stroke=url('#gradient1') fill=none stroke-dasharray=1069 1069></circle>
            <circle cx=220 cy=220 r=170 stroke-width=50 stroke=url('#gradient2') fill=none stroke-dasharray=534.5 1069></circle>
        </g>
    </svg>
    <span id=timeSecond class=time-second></span>
</div>

最后是相关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();

相信看了这些案例你已经掌握了方法,更多精彩请关注编程之家网其它相关文章!

相关阅读:

H5的所有元素及基本语法归纳

html5怎样操作indexedDB

关于老版本的浏览器不兼容H5和C3的处理方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


h5页面是什么意思
html5复合选择器都有哪些
什么是html5响应式布局
h5页面制作策划怎么做
html5关系选择器有哪些
h5有哪些缓存机制
position中的sticky如何使用
h5页面制作用什么软件
h5链接怎么做
html5层次选择器有哪些
h5是什么意思
localstorage有哪些方法
h5怎么制作点击图标
h5怎么制作倒计时
h5怎么生成链接
h5表格边框怎么设置
h5兼容问题怎么解决
h5怎么做交互设计
h5怎么做进度条
h5怎么加链接