css3或js怎么控制动画、给圆中心定位然后动画是向外扩散

JavaScript028

css3或js怎么控制动画、给圆中心定位然后动画是向外扩散,第1张

涉及到 CSS3 的动画(animation)、2D 转换(transform: scale),具体如代码所示。

[html] view plain copy

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

<style>

@keyframes warn {

0% {

transform: scale(0)

opacity: 0.0

}

25% {

transform: scale(0)

opacity: 0.1

}

50% {

transform: scale(0.1)

opacity: 0.3

}

75% {

transform: scale(0.5)

opacity: 0.5

}

100% {

transform: scale(1)

opacity: 0.0

}

}

@-webkit-keyframes "warn" {

0% {

-webkit-transform: scale(0)

opacity: 0.0

}

25% {

-webkit-transform: scale(0)

opacity: 0.1

}

50% {

-webkit-transform: scale(0.1)

opacity: 0.3

}

75% {

-webkit-transform: scale(0.5)

opacity: 0.5

}

100% {

-webkit-transform: scale(1)

opacity: 0.0

}

}

.container {

position: relative

width: 40px

height: 40px

border: 1px solid #000

}

/* 保持大小不变的小圆圈 */

.dot {

position: absolute

width: 6px

height: 6px

left: 15px

top: 15px

-webkit-border-radius: 20px

-moz-border-radius: 20px

border: 2px solid red

border-radius: 20px

z-index: 2

}

/* 产生动画(向外扩散变大)的圆圈 */

.pulse {

position: absolute

width: 24px

height: 24px

left: 2px

top: 2px

border: 6px solid red

-webkit-border-radius: 30px

-moz-border-radius: 30px

border-radius: 30px

z-index: 1

opacity: 0

-webkit-animation: warn 3s ease-out

-moz-animation: warn 3s ease-out

animation: warn 3s ease-out

-webkit-animation-iteration-count: infinite

-moz-animation-iteration-count: infinite

animation-iteration-count: infinite

}

</style>

</head>

<body>

<div class="container">

<div class="dot"></div>

<div class="pulse"></div>

</div>

</body>

</html>

var path = svgdoc.createElement("path")

path.setAttribute("d","M400 400 L400 300 A400 400 90 0 1 500 400 Z")

path.setAttribute("style","fill:nonestroke:#00fstroke-width:2")

svgdoc.rootElement.appendChild(path)

这个代码是画四分之一个圆,圆环你自己算下坐标,用PATH画,A是画弧线的

path的相关知识,你百度你里面看下,这里就不多说了