Сообщение от Biotoxsin
|
как сделать эту синусоиду без возрастания, чтоб переменная возвращала значение не больше 20 и возвращалась к 0 после чего опять увеличивалась. У вас же она после каждого "цикла" увеличивается на своё значение (20 > 40 > 60 а нужно 20 > 20 > 20) .
|
Тогда определённо имеет отношение к синусу!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
circle {
width: 35px;
height: 35px;
background-color: red;
border-radius: 50%;
position: absolute;
font: 900 1.3em / 4px sans-serif;
text-align: center;
line-height: 35px;
}
</style>
</head>
<body>
<script>
function fn(x) {
return 0.5 + Math.asin(Math.sin(Math.PI * (x - 0.5))) / Math.PI;
}
for(let from = 0, to = 300, x = from; x < to; x++) {
const circle = document.createElement("circle");
const y = 20 * fn(x / 20);
circle.textContent = Math.round(y);
Object.assign(circle.style, {
left: `${x * 15}px`,
top: `${y * 30}px`
});
document.body.append(circle);
}
</script>
</body>
</html>
Сообщение от Biotoxsin
|
Здравствуйте!
Скажите, Вы не против если я буду задавать Вам вопросы напрямую в личные сообщения?
|
Лучше задавайте их тут, вы получите более разносторонние ответы от разных участников!