jjzjj

SettimeOut

全部标签

Javascript setTimeout 函数不调用

setTimeout函数似乎总是给我带来麻烦。现在我有一个递归函数(通过setTimeout调用自身)并更改元素高度。函数被发送两个参数:要改变的元素和元素的最大高度。该函数的目的是展开元素,或者以恒定的速度“向下滑动”。我知道我可以用jQuery解决这个问题,但我正在尝试我自己的函数。functionslide_down(element,max_height){if(element.clientHeight=max_height)?max_height:(element.clientHeight+factor);element.style.height=new_height+'px'

javascript - setTimeout 不起作用

我想在执行其他(可视化)脚本之前加载一个OWL文件。为此,我尝试了一切$(document).ready到functionvisualize(file){if(!file){setTimeout(visualize(file),2000)}else{jQuery(function($){visFeaturePool.init(file)})}}我认为setTimeout必须可行,但它不起作用。我抛出错误:UncaughtRangeError:Maximumcallstacksizeexceeded,所以它不会等待,它只是调用可视化函数直到堆栈已满。有人知道我做错了什么吗?谢谢!

javascript - 是否有不实现 Timers 接口(interface)的 javascript 引擎(运行时)

TheTimersinterfaceHTML规范中定义的是许多javascript引擎中广泛采用的接口(interface),包括所有浏览器的javascript引擎(SpiderMonkey、V8、Chakra...)和众所周知的NodeJS(V8),但它不是javascript本身的特性,所以我想知道是否有任何javascript引擎不提供setTimeout和setInterval作为global的方法对象.. 最佳答案 阿法克jsdb不提供setTimeout/setInterval。它确实提供了一个[system.]sle

javascript - setTimeout - 奇怪的行为

考虑以下HTML:[Demowith0delay,100msdelay,150msdelay]以及以下步骤:用户输入(焦点)。用户点击按钮。现在,事件将按以下顺序发生:输入文本模糊事件。按钮点击事件。在我得到的所有可用浏览器上测试它:document.title='21'//Expectedbehavior但是!在生产浏览器(WindowsXP+IE7)上,我得到:document.title='12'//Unexpectedbehavior我还尝试在我的本地计算机(IE10)上以IE7模式模拟它,但无法重现它。这显然是我遇到的问题的简化示例。否则我可以简单地摆脱setTimeout。

javascript - 即使 previos 尚未完成其工作,是否会触发传递给 setInterval 的回调

是否会触发传递给setInterval函数的回调,即使前一个回调(由相同的setInterval触发)尚未完成其工作?如果是这样,我该怎么做才能解决此问题?我应该使用自己的bool标志(如inProcess)还是每次都调用setTimeout而不是setInterval? 最佳答案 我建议使用setTimeout。我有类似的问题,我必须每3秒轮询一次服务器以获取某些数据,直到我收到数据或达到阈值。我写过这样的东西:functiongetData(){$.post(url,data,function(res){if((res.erro

javascript - 在 Dojo 类中递归调用 setTimeout 时是否存在内存泄漏?

我们已经使用Dojo创建了一个在UI上带有时钟的应用程序。但有时应用程序UI只是卡在那里,时钟就停止了。猜测JS引擎刚刚停止,因为时钟是由javascript代码驱动的。不确定以下代码会导致内存泄漏,然后导致挂起问题。我们使用递归的setTimeout调用来实现时钟。dojo.declare("xxx.xxx.HomepageHeader",[dijit._Widget,dijit._Templated],{widgetsInTemplate:true,_time:'',dateUtil:null,//....//....prefix:function(value,p){return(

javascript - 在 Node.js 事件循环中获取(事件)计时器的计数

有没有办法在Node.js中调用以确定事件循环队列中的计时器数量?我有一个带有多个超时的库,而不是使用某种内部簿记系统自己跟踪它们,如果我可以只问V8或Libuv或其他什么,有多少个计时器,那就太好了。这可能吗? 最佳答案 itwouldbeniceifIcouldjustaskV8orLibuvorwhatever您不能直接询问libuv,但它确实提供了一种了解有多少事件计时器的方法。为此,您可以调用uv_walk使用有效循环获取所有事件句柄。然后,您可以使用给定的回调检查每个句柄,并计算数据成员type(类型为uv_handle

javascript - setTimeout、jQuery 操作、transitionend 随机执行/触发

编辑:所以现在它不是随机的,看起来它总是无法从.css()方法执行(未进行任何更改)。仍然不要理解我可能犯的错误。我正在尝试使用jQuery和animate.css为删除一个div设置动画。问题是这个动画依赖于随机执行的事件和操作。此代码在.on("click"...处理程序中响应click运行:$('section').on('click','button',function(){//Removetheselectedcard$(this).closest('.mdl-card').addClass('animatedzoomOut').one('animationend',func

javascript - 使用箭头键和智能延迟加载实现有机列表浏览

简单场景我有一个列表,我实现了使用箭头键(向上、向下)进行浏览,并且在当前列表项的每次更改时,都会通过AJAX加载一个数据库对象。甜蜜的。问题当用户快速浏览列表时,我不希望每个请求都关闭。但当然,最初的请求应该立即关闭。我的想法是使用变量作为延迟来设置超时,并在项目初始加载后增加该变量。这行得通,但是当用户暂时停止浏览但随后继续浏览时,我仍然不希望每个请求都关闭。所以我想,延迟变量必须随着每次浏览事件而合理增加,直到达到阈值。这种有机的方法将成功地减少不必要的元素加载量。我的解决方案我来得很远。这段代码(下面的解释)将完成这项工作,有一个主要罪魁祸首:第一次浏览完成然后停止后,延迟将自

javascript - 在 setTimeout 中调用的函数不使用当前的 React 状态

快速总结我正在尝试创建一个按钮,它既有常规点击功能,又有用户点击并按住它时发生的单独操作,类似于Chrome中的后退按钮。我这样做的方式涉及一个setTimeout()和一个检查状态的回调。出于某种原因,回调正在使用调用setTimeout()时的状态,而不是调用回调时的状态(1秒后)。您可以在codesandbox上查看我是如何努力实现这一目标的为了获得此功能,我在MouseDown上调用setTimeOut()。我还将处于状态的isHolding设置为true。onMouseUp我将isHolding设置为false并且还运行clickHandler(),这是一个Prop,如果ho