2

likeMe() ループが終了した後、5 秒の遅延を追加したいと思います。終了したら、Facebook のログアウト ボタンのクリックをトリガーしたいと思います。

JavaScript のシマンティクスに関しては、私は愚かです。したがって、これをトリガーする方法がわかりませんか?これを念頭に置いて、ループが終了した後にこの効果をどこに/どのように追加しますか:

私は通常.promise().done()、ループの後に最終的なステップを実行するために使用しましたが、これ$.delay(5000).promise().done( $('input[value="Log Out"]').click());を JavaScript 内に配置する方法がわかりません。

背景:arudino、Processing、およびグリースモンキー jQuery を使用してインスタレーション アート作品を作成しています。

完全なスクリプト:

unsafeWindow.likeMe = likeMe;
function likeMe() 
{   

        input = document.getElementsByTagName("input");
        for(i = 0; i < input.length; i++) 
        {
            myID = input[i].getAttribute("data-profileid");
            if(myID != null && myID.indexOf("342584172457437") >= 0)
                input[i].click();
        }
        $.delay(5000).promise().done( $('input[value="Log Out"]').click()); 
        // this is wrong but yeah i have no clue where or how to put it on here.

}


$(window).load(function(){

    var isCtrl = false;
    document.onkeyup=function(e) {
        if(e.which == 17) isCtrl=false;
    }
    document.onkeydown=function(e){
        if(e.which == 17) isCtrl=true;
        if(e.which == 46 && isCtrl == true) {
            likeMe()

            return false;
        }
    }

});
4

2 に答える 2

2

setTimeoutのように使用できます

function likeMe() 
{   

    input = document.getElementsByTagName("input");
    for(i = 0; i < input.length; i++) 
        {
            myID = input[i].getAttribute("data-profileid");
            if(myID != null && myID.indexOf("342584172457437") >= 0)
            input[i].click();
        }

   setTimeout(function() {
        $('input[value="Log Out"]').click();
   }, 5000);

}

またはそのonkeydownようなものの中

document.onkeydown=function(e){
        if(e.which == 17) isCtrl=true;
        if(e.which == 46 && isCtrl == true) {
            likeMe();
            setTimeout(function() {
               $('input[value="Log Out"]').click();
            }, 5000); 
            return false;
        }
    }

しかし、同時に両方ではありません。

于 2012-06-23T05:38:44.973 に答える
0

setTimeout()次のように使用します。

setTimeout(function() {
    $('input[value="Log Out"]').click();
}, 5000);

5 秒で機能を実行します。

于 2012-06-23T05:36:12.057 に答える