Javascript 如何降低jquery单击函数的执行速度?
我在Google Chrome控制台中使用一个简单的jquery命令来管理我的站点。基本上,我每天都要批准许多新请求,因此我使用:Javascript 如何降低jquery单击函数的执行速度?,javascript,jquery,google-chrome,console,delay,Javascript,Jquery,Google Chrome,Console,Delay,我在Google Chrome控制台中使用一个简单的jquery命令来管理我的站点。基本上,我每天都要批准许多新请求,因此我使用: $('.approve').click(); 其中“approve”是需要单击的按钮的类名。这节省了我几个小时。然而,这每次都会使我的浏览器崩溃,有时甚至无法正常工作,主要是因为它占用了我笔记本电脑上的资源。我正在寻找一种方法来减缓函数的动作。我试过 $('.approve').click().delay(1000); 尝试在单击按钮之间将其减速1秒。这似乎不起
$('.approve').click();
其中“approve”是需要单击的按钮的类名。这节省了我几个小时。然而,这每次都会使我的浏览器崩溃,有时甚至无法正常工作,主要是因为它占用了我笔记本电脑上的资源。我正在寻找一种方法来减缓函数的动作。我试过
$('.approve').click().delay(1000);
尝试在单击按钮之间将其减速1秒。这似乎不起作用(它运行时没有出现错误,但我不认为它会减慢点击速度)
有什么想法吗
编辑:
有人指出这可能是另一个问题的重复,原因是另一个最重要的答案集中在使用JS定义一个使用setTimeout()的函数我知道jquery是用JS编写的,但因为我在命令控制台中使用它,所以我没有多行代码空间
有人能告诉我为什么上面的函数不起作用吗?根据我的研究,它似乎应该起作用
提前谢谢。您可以在功能上添加一个延迟,按如下方式单击
$(".approve").click(function(){
setTimeout(function(){
// Do something
}, 1000);
});
如果要执行一次函数,请使用
setTimeout()
如果要每秒执行一次,请在必须运行将执行setTimeout函数的函数时使用
setInterval()
$('.approve').click(function(){
setTimeout(function(){
// here some code u want to execute after 5 sec //
}, 5000);
});
每次单击之间等待1秒:
您需要迭代每个.approve
-按钮,然后触发每个按钮的单击事件,间隔一秒:()
一个衬里(适用于IE9+):
一艘班轮:
$(".approve").each(function(e){var i=$(this);setTimeout(function(){i.click()},1e3*e)});
一个更好的方法是找出为什么一个基本的点击处理程序会给你的笔记本电脑带来如此大的压力…可能重复使用setTimeout()函数。@RoryMcCrossan可能是“批准”按钮向服务器发出请求。假设OP有数千个按钮,这将产生相同数量的请求。希望我们能看到更多您的代码!另一种可能是,由于某些开发人员的常见错误,每次连续单击触发的次数比上次多lopers在注册一个事件处理程序时会做些什么。如果这与对服务器的请求相结合,那么你就可以接受它了!
$('.approve').each(function(index) {
var $approve = $(this);
setTimeout(function() {
// Simulation click event
$approve.trigger('click');
// 0, 1, 2, 3, ... times 1000 to bring delay to miliseconds
}, index * 1000);
});
$(".approve").each(function(c){setTimeout(function(c){c.click()},1e3*c,$(this))});
$(".approve").each(function(e){var i=$(this);setTimeout(function(){i.click()},1e3*e)});