3

次のコードがあります。

var play = function() {
    $(steps).each(function(i, e) {
        $(this).is(':visible') 
            ? $(this).click()
            : console.log($(this).html() + ': not visible');
    });
};

このコードの問題は、要素が表示されている場合にすぐにクリックすることです。ただし、要素をクリックする前に、要素が最大N秒間存在するのを待機/ポーリングしたいと思います。これを実装する方法について何か提案はありますか? ありがとう!

4

4 に答える 4

0

次に、を使用しますsetTimeout()。どのように合格/取得するかはあなた次第ですN

var play = function() {
    $(steps).each(function(i, e) {

        //preserve target since "this" in the timeout may be different
        var target = $(this);

        setTimeout(function(){
            if(target.is(':visible')){
                 target.click();
            }
        },N); //Click and check after N milliseconds

    });
};
于 2012-05-11T05:29:29.183 に答える
0

どうですか...

setTimeout(function(){ $(this).click(); }, 5000) // 5 sec
于 2012-05-11T05:29:38.123 に答える
0
var play = function() {
    $(steps).each(function(i, e) {
        $(this).is(':visible') 
            ? setTimeout(function(){ $(this).click(); }, TIME),
            : console.log($(this).html() + ': not visible');
    });
};

ここで、TIMEは待機するミリ秒数です:)

于 2012-05-11T05:30:59.870 に答える