gpt4 book ai didi

Javascript 如何停止 setTimeOut

转载 作者:行者123 更新时间:2023-12-03 07:54:45 39 4
gpt4 key购买 nike

你好我遇到了一个小问题,我不知道当我的添加功能到达我的网络上的某个 Y 位置时如何停止它,有人可以帮我解决它吗!!

var scroll = function(){

var positionYTop = 0,

speed = 50,
links = document.getElementsByTagName('a');

function timer() {
var clock = setTimeout(add, 200)
}

function add() {
window.scrollTo(0, positionYTop += speed);
timer();
}

add();
}

最佳答案

目前尚不清楚您要对特定代码执行什么操作,但停止计时器的一般答案是将 setTimeout() 的结果保存到以下变量中:足够高的范围或对象的属性,您可以稍后访问它,然后使用它来调用 clearTimeout()。这将停止计时器。

在您当前的代码中,变量clock仅对于timer()函数是本地的,因此一旦该函数完成,它将超出范围并且无法访问。您可能需要将 clock 变量移动到更高的范围,这样您就可以从您想要停止计时器的任何代码访问该变量。

<小时/>

或者,如果您要问的问题是如何告诉您的 add() 函数在达到某个值时停止发出新的 timer() 调用位置,那么您只需在 add() 函数中添加一个 if() 语句,并且在某些条件满足时不再调用 timer()已满足。

例如:

function add() {
window.scrollTo(0, positionYTop += speed);
if (window.scrollTop < 400) {
timer();
}
}

关于Javascript 如何停止 setTimeOut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34845844/

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