jquery中的函数序列

时间:2014-10-27 11:34:02

标签: javascript jquery function sequence

我最近开始使用jquery作为Tampermonkey脚本,并且它没有在函数中执行逻辑序列。这是代码:

$(document).ready(function(){
    if ($(window).attr('location') == 'http:1') {
        $(window).attr('location', 'http:2');
    }
});

$(document).ready(function(){
    for(var i=2; i<7; i++){
        $elem = $('div#ing-' + i).find('span').css('color');
            if ($elem == 'rgb(255, 0, 0)'){ 
                $(window).attr('location', 'http:3...&r=' + i);
        }           
    }
    if($(window).attr('location')=='http:2'){
        $(window).attr('location', 'http:4');
    }
    $('#solicitar').trigger('click');
});  

我有两个问题,

第一个:最后一个功能

if($(window).attr('location')=='http:2'){
        $(window).attr('location', 'http:4');
    }
    $('#solicitar').trigger('click');

是一直在运行的,它没有运行FOR功能,它只是跳转到那个部分并执行此操作。

第二:如果我只是运行循环FOR(忽略另一个函数),当i = 6且i = 2是最后一个时,第一条指令要被剔除,这不会使得对我来说很有意义.7

编辑:如果我的html(2)=&#39; http://www.aaa.com&#39;和html(3和4)= http://www.aaa.com/index.php?p=bbb location属性对它们的看法是一样的吗?

1 个答案:

答案 0 :(得分:0)

解决的。我只需要添加延迟,因为代码的运行速度比http可以刷新的速度快。

setTimeout(function(){
     if($(window).attr('location')=='http:1'){
        $(window).attr('location', 'http:2');
     }}, 5000);
    $('#solicitar').trigger('click');