如何减慢jquery点击功能的执行速度?

时间:2015-09-28 16:12:12

标签: javascript jquery google-chrome console delay

我在Google Chrome控制台中使用简单的jquery命令来管理我的网站。基本上,我每天都要批准一些新请求,所以我使用:

 public String getStringFromDb(String key) {
     ....
 }

 ....

 public void setLabel(String str, JLabel label) {
     label.setText(str);
 }

 ...

 public void setLabelFromDb(String key, JLabel label) {
     String str = getStringFromDb(key);
     setLabel(str, label);
 }

批准'是需要单击的按钮的类名。这节省了我几个小时。然而,这每次都会使我的浏览器崩溃,有时候无法正常工作,这主要是因为它给我的笔记本电脑带来了资源上的负担。我一直在寻找一种减慢函数动作的方法。我试过......

$('.approve').click();

尝试在按钮点击之间减慢1秒。这似乎没有用(它运行没有错误,但我不认为它减慢了点击。

有什么想法吗?

编辑:

有人指出这可能与另一个问题重复。原因并不是另一个最重要的答案集中在使用JS定义一个使用setTimeout()的函数,我正在寻找一个本机jquery方法。我理解jquery是用JS编写的,但是因为我在命令控制台中使用它,所以我没有多行编码空间。

任何人都可以告诉我为什么上述功能不起作用?根据我的研究,它似乎应该是这样。

提前谢谢。

4 个答案:

答案 0 :(得分:2)

每次点击之间等待1秒钟:

您将需要遍历每个.approve - 按钮,然后触发每个按钮的点击事件,其中间隔一秒:(setTimeout

$('.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); 
});

一个班轮(适用于IE9 +):

$(".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)});

答案 1 :(得分:0)

您可以在功能点击上添加延迟,如此

$(".approve").click(function(){
    setTimeout(function(){
        // Do something
    }, 1000);
});

答案 2 :(得分:0)

如果您想要执行一次功能,请使用setTimeout()

$(".approve").click(function(){
    setTimeout(function(){
    }, 1000);
});

如果您想每秒排出一次,请使用setInterval()

答案 3 :(得分:0)

单击时,您必须运行将执行setTimeout函数的函数

controller: function ($scope, $stateParams, ChatHistory) {
    $scope.messages = ChatHistory.get($stateParams.uid);
    // need to set user id to scope for this to work
    $scope.$on('priv_msg/' + $scope.user.id, function(data) {
        $scope.messages.push(data);
    }); 
}