javascript - jQuery 按时间间隔单击各个元素

标签 javascript jquery

我正在使用 JQVMap 在页面上渲染世界地图。我需要按照特定顺序每 10 秒自动单击一个单独的 map 区域。到目前为止,这是我的 JavaScript:

//get each region in the sequence
var asiaID = document.getElementById('jqvmap1_cn'); //China
var americaID = document.getElementById('jqvmap1_ar'); //Argentina
var africaID = document.getElementById('jqvmap1_et'); //Ethiopia
var europeID = document.getElementById('jqvmap1_ru'); //Russia
var eastID = document.getElementById('jqvmap1_pk'); //Pakistan

var regionArray = [asiaID, americaID, africaID, europeID, eastID];
var arrayLength = regionArray.length;

//trigger sequence on time interval
setInterval(autoCycle, 10000);

//cycle through each region with click
function autoCycle(){
    //loop through each region
    for (var i = 0; i < arrayLength; i++) {
        jQuery(regionArray[i]).trigger('click');
        console.log(regionArray[i]);
    }
}

使用此代码,regionArray 中的所有区域每 10 秒同时单击一次。如果有意义的话,我需要按顺序单独单击它们。 for() 循环对此不起作用吗?

最佳答案

您可以使用以下逻辑:

var i = 0;
setInterval(function(){autoCycle(i++%arrayLength)}, 10000);

//cycle through each region with click
function autoCycle(i) {
    jQuery(regionArray[i]).trigger('click');   
}

关于javascript - jQuery 按时间间隔单击各个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26342985/

相关文章:

javascript - 在div中显示英文字母

javascript - 修改 for 循环

javascript - 具有多个属性的可克隆文件输入

javascript - 维基媒体代码那里如何输入onfocus

javascript - 如何在 Vue.js - Nuxt - TypeScript 应用程序中访问路由参数?

jquery - 如何使用 Selenium Webdriver 移动 jQuery 的水平 slider 或垂直 slider

javascript - JS : Getting image id using onmouseover

javascript - ad.unshift()、content中的内容是什么意思?

javascript - 页面加载后滚动条不调整大小

javascript - 使用 background-size : cover; 计算背景集上特定部分的大小