<span id="move-me-3" style="position: absolute; border: 1px dashed black;">Подвижный Текст<br>
</span>
<script>
var rho = 150;
var phi = -5;
var phiOffset = Math. PI / 180 * 1.5;
var xOffset = 900;
var yOffset = 350;
var toggle = true;
function moveByCircle(){
document.getElementById('move-me-3').style.right = rho * Math.cos(phi) + xOffset + 'px';
document.getElementById('move-me-3').style.top = rho * Math.sin(phi) + yOffset + 'px';
phi += phiOffset;
}
setInterval(moveByCircle, 0);
function ByCircle(){
clearInterval(moveByCircle , stop);
}
</script>
<input type="button" value="ЗДЕСЬ" onClick="ByCircle()" >
setInterval()
использовать requestAnimationFrame()true
или false
. Разрешать или запрещать анимацию.requestAnimationFrame()
только если переменная true
.false
в true
, запускать отрисовку.moveByCycle
, делаем следующее:let t; // Дескриптор счетчика setInterval
function startCycle() {
t = setInterval(moveByCircle, 0);
}
function stopCycle() {
clearInterval(t);
}
ByCycle
выкидываем нахер, ибо непонятно, что она делает.<button onclick="toggleCycle">ВКЛ/ВЫКЛ<button>
function toggleCycle() {
if (t) {
stopCycle();
} else {
startCycle();
}
}