gpt4 book ai didi

Javascript 动画循环不会停止

转载 作者:行者123 更新时间:2023-11-28 00:45:13 25 4
gpt4 key购买 nike

我是一名制作基本网页的初学者,当页面加载时,该网页具有从屏幕顶部到中间的文本动画。动画本身效果很好,但我无法停止循环。动画本身停止了,但我认为该功能在不断循环。因此,网页上的其他元素(例如链接等)无法正常运行,因为 javascript 在技术上尚未完成。我将如何结束该功能?谢谢。

window.onload = Animation;
function Animation() {

//Get Element, Use Position to detemrine text's position.

var Element = document.getElementById("AnimationText");
var Position = -500;

var ID = setInterval(OnFrame, 20);

function OnFrame() {

if (Position > 50) {

clearInterval(ID);

} else {

if (Position > -100 && Position <= 0) {

//Middle of animation, while text is between -100 and 0 position.
Position = Position + 3;

} else if (Position > 0) {

//End of animation until text position is > 50.
Position = Position + 2;

} else {

//Start of animation until text position is at -100.
Position = Position + 4;

}

Element.style.top = Position + 'px';

}

}

}

HTML:

<!doctype HTML>

<HTML>

<head>

<link href="https://fonts.googleapis.com/css?family=Sedgwick+Ave" rel="stylesheet">

<link href = "HomepageStyle.css" rel = "stylesheet" type = "text/css">

<script src = "HomepageAnimation.js"></script>


</head>


<body>

<div id = "AnimationText">

<h1>TNT</h1>

</div>

<center>

<a href = "LogIn.html">

<img src = "_assets/LoginButtonHome.png" style = "margin-right: 40px; margin-top: 400px;">

</a>

</center>

</body>

</HTML>

最佳答案

我在一个测试 html 文件中尝试了您的代码,并添加了控制台日志以查看即使在 clearInterval 之后该函数是否被调用。它没有。你可以自己测试一下。添加两个 console.log 语句,一个在 if 中,另一个在 else 中。

但是,如果它能解决您的问题,您也可以试试这个:

if (Position > 50) {
clearInterval(ID);
console.log("ended"):
ID = null;
return;
}

这也是我的测试 html 元素:

<p id="hello" style="position: absolute;">My first paragraph.</p>

JSFiddle 链接:Test here!

您可以通过以下方式在 Chrome 中查看控制台日志:查看 -> 开发人员 -> JavaScript 控制台

关于Javascript 动画循环不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53573440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com