Javascript在转到下一步之前提交

时间:2018-06-08 18:48:46

标签: javascript microstrategy dossier

我是javascript的新手,但通常可以到期。在这种情况下,我在执行代码的下一部分之前遇到了代码提交的第一部分的问题。我们的想法是触发点击,等待5秒,然后触发点击列表中的下一个元素。如果我一次一个地运行这些,它可以毫无问题地运行。如果我一起运行它们就好像第一次点击甚至不会发生。我正在努力模拟MicroStrategy档案的一些点击。一旦这个工作,我将通过首先计算元素来动态遍历所有div项。

感谢任何帮助/建议。

var t1 = new Date();
var t2 = new Date();
var dif = 0;

//Click first element in the list
var n = "div.item[idx=\"0\"]";
$('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');   
            });

//wait  5 seconds
t2 = new Date();
        dif = t1.getTime() - t2.getTime();
            while(dif < 5000){
                t2 = new Date();
                dif = t2.getTime() - t1.getTime();  
            };

//Click second element in the list
var n = "div.item[idx=\"1\"]";
$('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');   
            });

1 个答案:

答案 0 :(得分:0)

在进入下一部分之前,JavaScript不会等待代码中的5秒。您必须将第二次单击放在setTimeout中:

setTimeout(function(){ 
    //Click second element in the list
    var n = "div.item[idx=\"1\"]";
    $('div.scroll-container.mstrmojo-scrollNode').find(n).each(function(){
        $(this).trigger('click');
    });
}, 5000);