CSS と Javascript を使用して放射円効果を作成しようとしています。私の考えは、一定の間隔で円の新しいコピーを作成し、数秒後にそれらを削除することでした。
数秒間は問題なく機能しますが、その後、円が一瞬以上放射しないため、円があまりにも早く削除されているように見えます。
何が起こっていますか?最初の数秒間の効果を達成するためのより良い方法はありますか?
CSS
.circle {
width: 300px;
height: 300px;
border-radius: 50%;
border: 3px solid #000;
-webkit-transition: all 2s linear;
-webkit-transform: scale(0.1);
position: absolute;
top: 0;
left: 0;
}
.circle.zoom {
opacity: 0;
-webkit-transform: none;
}
Javascript
counter = 0;
function createCircle(){
// Circle ID
var circleID = "circle_" + counter;
// Add circle to document
$("body").append("<div class='circle' id='" + circleID + "'></div>");
$thisCircle = $("#" + circleID);
// add "zoom" class
setTimeout(function(){
$thisCircle.addClass("zoom");
},10);
// Remove circle
setTimeout(function(){
$thisCircle.remove();
},3000);
counter++;
}
setInterval(function(){
createCircle();
},500);
JSFiddle デモ: http://jsfiddle.net/YaKBH/9/