再次调用时,JS函数开始在较短的时间内执行

AJ

我需要在一个时间间隔后连续调用一个函数,因此我遵循了此链接上提供的解决方案

这是JS代码。

    function displayLiveLocation()
    {
        var location = new Array();
        var currentcord = new Array();
        $('input[type=checkbox][name="IMSeries[]"]:checked').each(function() {
           location.push($(this).val()); 
           var current = $(this).val();
           currentcord.push($('#'+current+'_H').val());
        }); 
        copyofAutotrack(currentcord , location);
        setTimeout(function() {
            display();
        }, 15000);

    }

这是HTML代码。

   <div class="checkbox"> 
    <input type="checkbox" onclick="displayLiveLocation()" value="0358911020092058" name="IMEISeries[]" class="IMEISeriesClass[]">       
    <input type="hidden" value="26.79997253418,75.799194335938" id="0358911020092058_H"> 
   </div>

有多个复选框和具有唯一ID的隐藏字段,类似于上面的一个。单击复选框后,相应功能以15秒的间隔开始执行。但是,单击另一个复选框也会发生相同的情况,从而使该函数在执行另一个函数调用时以较小的时间间隔执行。我希望此功能仅在15秒时执行。任何帮助,将不胜感激。提前致谢。

我不知道如何在此网站上搜索此信息,所以我问了一个问题。

古法

当您在第一次超时之前再次单击该复选框时,第一次单击的超时将在第一次单击后的15秒内发生,而第二次单击的数据将发生超时。

如果希望它们与它们自己的数据集分开发生,则可以在调用数据时将其发送到函数中,而不是使用当前数据:

function displayLiveLocation()
{
    var location = new Array();
    var currentcord = new Array();
    $('input[type=checkbox][name="IMSeries[]"]:checked').each(function() {
       location.push($(this).val()); 
       var current = $(this).val();
       currentcord.push($('#'+current+'_H').val());
    }); 
    copyofAutotrack(currentcord, location);
    setTimeout(function() {
        display(currentcord, location);
    }, 15000);

}

如果您想完全停止第一个超时并仅等待第二个超时,则可以使用clearTimeout

var displayTimeout = null;

function displayLiveLocation()
{
    var location = new Array();
    var currentcord = new Array();
    $('input[type=checkbox][name="IMSeries[]"]:checked').each(function() {
       location.push($(this).val()); 
       var current = $(this).val();
       currentcord.push($('#'+current+'_H').val());
    }); 
    copyofAutotrack();
    if (displayTimeout != null) {
      clearTimeout(displayTimeout);
    }
    displayTimeout = setTimeout(function() {
        displayTimeout = null;
        display(currentcord, location);
    }, 15000);

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JS函数在执行后的特定时间内自禁用

如何在设定的时间内递归调用函数?

如何查询,然后在较短的时间内处理大量

在较长的时间内找到较短的几天以进行计算

如何在较短的时间内查看平均负载?

无论如何,在一定时间内可以查看已执行的JS函数名称?

在Java中是否可以在指定时间内停止函数的执行?

如何在给定时间内重新加载ajax调用函数

在线程上调用时,Python函数无法开始执行

如何在较短的时间内使用实体框架同时编辑1000条记录

如何在相对较短的时间内在 OpenCV 中用 python 编辑视频?

java:在最长时间内执行方法

在延迟时间内重复执行任务

如何在特定时间内执行方法?

React-native在指定的时间内运行函数

如何在固定的时间内使用javascript函数?

在较短的时间内使用javascript将用户重新分配到另一个页面

程序在一段时间内不使用时自动关闭

Javascript-在执行一个函数功能后一段时间内禁用所有嵌套函数

TimeoutException:Angular CLI进程未在0秒的超时时间内开始侦听请求

在活动开始后的一段时间内更改文本

以开始和结束日期为条件的一段时间内的定期总和

在较短的时间内(优化时间)将一个列表中的所有值从另一个列表中删除

自执行匿名函数并再次调用

GCC检查表达式是否将在固定时间内执行

在一段时间内在Python中仅执行一次if语句?

Visual Studio终端中的CTRL + C在50%的时间内不执行任何操作。错误或功能?

在C#中的执行时间内将属性添加到类中

Kivy如果在特定时间内按下按钮,请执行此操作