я создал волновой эффект на холсте,
для этого я использовал четыре круга, которые нарисованы одна за другой через некоторый интервал, и их радиус увеличивается в каждом цикле,
как первая волна, затем вторая волна, затемТретья и последняя четвертая волна*
скриншоты прилагаются
вот мой код
<canvas id="myCanvas" ></canvas>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var ww = window.innerWidth;
var wh = window.innerHeight;
canvas.width = ww * 0.98;
canvas.height = wh * 0.98;
var CW = canvas.width;
var CH = canvas.height;
var radiusFirstWave = 20
var radiusSecondWave = 20
var radiusThirdWave = 20
var radiusFourthWave = 20
function FirstWave() {
//opacity = 1;
ctx.clearRect(0, 0, CW, CH);
ctx.beginPath();
ctx.arc(0,0, radiusFirstWave, 0, 2 * Math.PI);
ctx.lineWidth = 2;
ctx.strokeStyle = "rgb(00,00,ff)" ;
ctx.stroke();
radiusFirstWave += (CW*speed)/3000;
if (radiusFirstWave >(ww*FinalRadius)/100)
{radiusFirstWave = InitialRadius*ww/100;}
requestAnimationFrame(function() {
FirstWave();
});
}
FirstWave();
setTimeout(function SecondWave() {
// some code
rAF = requestAnimationFrame(function() {
SecondWave();
});
}, 500);
setTimeout(function ThirdWave() {
//some code
rAF = requestAnimationFrame(function() {
ThirdWave();
});
}, 1000);
setTimeout(function FourthWave() {
//some code
rAF = requestAnimationFrame(function() {
FourthWave();
});
}, 1500);
вот вывод, когда я открываю его в браузере в первый раз, вместо того, чтобы появлятьсяпосле 500 millisecond
они загружаются один раз ![enter image description here](https://i.stack.imgur.com/pQKlg.png)
Но когда я обновляю страницу, она показывает вот так, именно это я и кодировал для ![enter image description here](https://i.stack.imgur.com/jG7dp.png)
отчетливо виден разрыв между кружками
что вы предлагаете?это как холст не загружается полностью, когда я впервые рисую эти круги в браузере?
и во второй раз после перезагрузки страницы он выбирается из кеша?Любая помощь будет оценена