我想在likeMe()循环完成后添加5秒的延迟。一旦finsh我想触发点击Facebook的注销按钮。
当谈到javascript语义时,我很愚蠢;因此我不知道如何触发这一切?考虑到这一点,在循环结束后我将在何处/如何添加此效果:
我通常会在循环后使用.promise().done()
执行最后的步骤,但我不知道如何将此$.delay(5000).promise().done( $('input[value="Log Out"]').click());
放在javascript中。
背景:使用arudino,处理和& amp;创建一个装置艺术作品。 greasemonkey 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;
}
}
});
答案 0 :(得分: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;
}
}
但不能同时兼顾两者。
答案 1 :(得分:0)
像这样使用setTimeout()
:
setTimeout(function() {
$('input[value="Log Out"]').click();
}, 5000);
在五秒钟内执行一项功能。