css 倒计时 svg

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <title> new document </title>
  <style>
     div{position:absolute;width:200px;height:200px;left:0;top:0;right:0;bottom:0;margin:auto;border-radius:50%;background-color:#CCC;}
     div:before,
     div:after{position:absolute;content:"";width:50%;height:100%;top:0;left:0;background-color:#CCC;border-radius:100% 0 0 100%/50% 0 0 50%;z-index:1;transform-origin:100% 50%;-webkit-transform-origin:100% 50%;-moz-transform-origin:100% 50%;-o-transform-origin:100% 50%;}
     div.half,
     div:before{background-color:gold;}
     div{animation:run 10s steps(1,end);-webkit-animation:run 10s steps(1,end);-moz-animation:run 10s steps(1,end);-o-animation:run 10s steps(1,end);}
     div:before{animation:run1 10s linear;-webkit-animation:run1 10s linear;-moz-animation:run1 10s linear;-o-animation:run1 10s linear;}
     div span{position:absolute;width:100%;height:22px;left:0;top:90px;font-size:20px;font-weight:bold;line-height:22px;text-align:center;z-index:5;}
     @keyframes run{
        50%,
        100%{background-color:gold;}
     }
     @keyframes run1{
        100%{z-index:3;transform:rotate(360deg);}
     }

     @-webkit-keyframes run{
        50%,
        100%{background-color:gold;}
     }
     @-webkit-keyframes run1{
        100%{z-index:2;-webkit-transform:rotate(360deg);}
     }

  svg倒计时

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>svg做的倒计时</title>
<body>
<div id="svgBox">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="500">
 	<path id="test1" style="fill:#fe0; stroke:#fff; stroke-width:0;"/>
	<text x="93" y="100" fill="green" id="text">1</text>
</svg>
<script>
window.onload=function(){
	num = 360 ;
	var time = setInterval(j,10);
	function j(){
		 num = num - 1;
		 i = parseInt(num/360*100);
		 var text_ = document.getElementById("text");
		 text_.textContent = i;			//svg节点是xml,所以只能用textContent代替innerHTML来获取文本节点
		 var startAngle=90;
		 var cx = 100;					//svg与y轴的距离
		 var cy = 100;					//svg与x轴的距离
		 var r = 100;					//圆的半径
		 var deg1 = num + startAngle;

		 var x0 = cx+r*Math.cos(startAngle*Math.PI/180);
		 var y0 = cy-r*Math.sin(startAngle*Math.PI/180);

		 var x1 = cx+r*Math.cos(deg1*Math.PI/180);
		 var y1 = cy-r*Math.sin(deg1*Math.PI/180);
		 var a = num<180 ? 0 : 1;
		 var test = document.getElementById("test1");

		 //画笔落在(cx,cy),画线至(x0,y0),画圆弧(从当前点到x1,y1画椭圆,r,r为长短半轴,偏转0度,大圆弧或小圆弧,逆时针或顺时针,闭合路径)
		 test.setAttribute("d","M "+cx+","+cy+" L "+x0+","+y0+" A "+r+","+r+" 0 "+a+",0 "+x1+","+y1+" Z");
		 if(num<1){
			 text_.setAttribute("fill","red");
			 window.clearInterval(time);
			 console.log("时间到了昂~~~");
		 }
	};

};
</script>
</div>
</body>
</html>

  

css 倒计时 svg,布布扣,bubuko.com

时间: 2024-12-21 00:45:47

css 倒计时 svg的相关文章

[转]用CSS给SVG &lt;use&gt;的内容添加样式

来源:http://www.w3cplus.com/svg/styling-svg-use-content-css.html?utm_source=tuicool&utm_medium=referral --------------------------------------------------------------------------------------------------------------------- 一篇深入探究如何给SVG<use>元素的内容添加样

[CSS] Animating SVG

<!DOCTYPE> <html lang='en'> <head> <meta charset='utf-8'> <title>Cosplay Happenings</title> <link href='level4.css' rel='stylesheet' type='text/css'> </head> <body> <!-- Nav --> <nav class='na

CSS和SVG中的剪切——clip-path属性和&lt;clipPath&gt;元素

剪切是什么 剪切是一个图形化操作,你可以部分或者完全隐藏一个元素.被剪切的元素可以是一个容器也可以是一个图像元素.元素的哪些部分显示或隐藏是由剪切的路径来决定的. 剪切路径定义了一个区域,在这个区域内的内容将会显示,而不在这个区域内的内容不会显示.这个区域被称之为“裁剪区域”.只要在这个区域之外的任何元素都不会显示.包括元素的内容.背景.边框.文本.轮廓等,甚至还包括他的子元素. 剪切的元素可以是任何容器和图片元素. 剪切路径的概念就相当于在元素上定义了一个视窗.它决定了元素哪些部分在这个“视窗

用CSS和SVG制作饼图

饼图,即使是最简单的只有两种颜色的形式,用Web技术创建也并不简单,尽管都是一些常见的信息内容,从简单的统计到进度条指标还有计时器.通常是使用外部图像编辑器来分别为多个值创建多个图像来实现,或是使用大型的JavaScript框架来设计更复杂的图表. 尽管这个东西并不像它曾经看起来那么难以实现,但是也没有什么直接并且简单的方法.但是,现在已经有很多更好.更易于维护的方式来实现它. 基于变换的解决方案 这个方案从HTML的角度来说是最好的:它只需要一个元素,其它的都可以用伪元素.变换和CSS渐变完成

CSS:SVG animation

html{background-color: #28505D;} .planePath {stroke: #D9DADA; stroke-width: .1%;stroke-width: .5%; stroke-dasharray: 1% 2%;stroke-linecap: round;fill: none;} .fil1{fill: #D9DADA;} .fil2{fill: #C5C6C6;} .fil4{fill: #9D9E9E;} .fil3{fill: #AEAFB0;} <svg

RE : 球体波浪倒计时

背景: 移动端需要做一个倒计时球体水波的效果.主要用到了CSS的SVG瞄点动画和JS的计时器.该动画原型来自于  使用球体水面波动显示进度动画 http://wow.techbrood.com/fiddle/27745 效果展示: <div class="homepage"> <div class="timeboxout ball"> <div class="timeboxmiddle ball"> <d

CSS的clip-path

在Web网页中主要是以矩形分布的.而平面媒体则倾向于更多不同的形状.造成这种差异的原因是因为缺少合适的工具去实现我们平面媒体中的内容.这也就造成了很多设计师的创意发挥,就算是有创意,前端实现也将付出巨大的开发成本. 虽然CSS Shapes Module Level 1(CSS形状模块标准1)的规范出现,可以打破矩形设计的限制.但仍需要一些不规则的图形.而早前实现一些不规则的图形,都需借助其它的元素功能,比如CSS绘制图形,很多时候就依赖于伪元素,或多个元素.如此一来,CSS Shapes依旧无

CSS的clip-path 一

首先介绍一下,我觉得前端开发都是很具有分享精神的,很多人都写出了很多优秀的总结经验供新手们参考,本人只是个搬运工,将别人优秀的文章进行了总结,本文主要转载自  大漠  的文章  http://www.w3cplus.com/css3/introducing-css-clip-path-property.html 在Web网页中主要是以矩形分布的.而平面媒体则倾向于更多不同的形状.造成这种差异的原因是因为缺少合适的工具去实现我们平面媒体中的内容.这也就造成了很多设计师的创意发挥,就算是有创意,前端

SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理

20 个有用的 SVG 工具,提供更好的图像处理 SVG 现正在 Web 设计领域变得越发流行, 你可以使用 Illustrator 或者 Inkscape 来创建 SVG 图像. 但当进行 Web 设计时,我们还需要做一些优化来使得 SVG 变得更加轻量. 下面介绍的 20 个工具,可以帮助你快速有效的创建 SVG 图像.现有的在线工具已经可以帮助我们进行优化.转换.新建模式等工作. 更详细的介绍,参见:How To Create SVG Animation Using CSS 交互式 SVG