svg-动态创建圆
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
body {
text-align: center
}
svg {
background: #ccc
}
</style>
</head>
<body>
<svg id="s3" width="500" height="400">
<circle cx="250" cy="200" r="100" fill="#f63" id="c3"></circle>
</svg>
<script>
var c3 = document.getElementById("c3");
c3.onclick = function () {
var r = c3.getAttribute("r");
r *= 1.05;
c3.setAttribute("r", r);
}
var c = document.createElementNS("http://www.w3.org/2000/svg", "circle");
c.setAttribute("r", 10);
c.setAttribute("cx", 200);
c.setAttribute("cy", 100);
c.setAttribute("fill", "#ff0");
var s3 = document.getElementById("s3");
s3.appendChild(c)
for (var i = 0; i < 50; i++) {
var c = document.createElementNS("http://www.w3.org/2000/svg", "circle");
c.setAttribute("r", 5 + Math.random() * 10);
c.setAttribute("cx", 1 + Math.random() * 500);
c.setAttribute("cy",1 + Math.random() * 400);
c.setAttribute("fill-opacity",Math.random());
c.setAttribute("fill",rc());
s3.appendChild(c);
c.onclick=function(){
this.onclick=null;
var t=setInterval(()=>{
var r=this.getAttribute("r");
r*=1.05;
this.setAttribute("r",r)
var p=this.getAttribute("fill-opacity");
p*=0.5;
this.setAttribute("fill-opacity",p)
if(p<0.1){
clearInterval(t);
s3.removeChild(this);
}
},150)
}
}
function rc(){
var r=Math.floor(Math.random()*256);
var g=Math.floor(Math.random()*256);
var b=Math.floor(Math.random()*256);
return `rgb(${r},${g},${b})`;
}
</script>
</body>
</html>