如果id == 1,则以下jQuery代码将不起作用

时间:2009-06-10 00:17:31

标签: javascript jquery

我有一个DIV Called fArea,当我点击打开按钮时,它设置fo = 2 但代码仍然刷新,所以我试图添加if和else,现在它没有任何消息。

jQuery代码:

function unique_requestid() {
    var timestamp = Number(new Date()).toString();
    var random = Math.random() * (Math.random() * 100000 * Math.random() );
    var unique = new String();
    unique = timestamp + random;
    return unique;
}

function FriendsContent(id) {
    if(id == 2){
        var refresh = setInterval(
            function() {
                $("#fArea").load("friends_online.php?fo="+id+"&random=" +
                    unique_requestid());
            }, 5000
        );
    } else {
        $("#fArea").load("friends_online.php?fo="+id+"&random=" +
            unique_requestid());
    };
}

2 个答案:

答案 0 :(得分:5)

首先,在您粘贴的代码中,您丢失了}。我不确定这是否是一个糊涂错误。一旦我们过去了,现在代码正在做的是等待5秒钟来进行呼叫,如果ID是2,并且在此之后每5秒发出一次请求,或者只是做一次性的立即请求。如果没有看到调用这个函数的代码,很难说出错的地方。

你说你想要做什么,听起来只是在ID为2的情况下才发出请求,在这种情况下:

function FriendsContent(id) {
    if(id == 2) {
        var refresh = setInterval(function() {
            $("#fArea").load("friends_online.php?fo="+id+"&random=" + unique_requestid());
        }, 5000);
    }
}

但是,如果您想在这样的网站上获得适当的帮助,那么您必须注意正确地描述您想要做的事情以及您迄今为止采取的步骤以实现目标。

答案 1 :(得分:1)

如果没有显示任何内容,请确保您可以直接访问friends_online.php页面。另外,尝试在else条件中添加clearInterval()以防止刷新,如果选择了id == 2,然后选择了不同的ID。

function FriendsContent(id) {
    var refresh;
    if(id == 2){
        refresh = setInterval(
         function() {
            $("#fArea").load("friends_online.php?fo="+id+"&random=" +
                unique_requestid());
          }, 5000
        );
    } else {
        clearInterval(refresh);
        $("#fArea").load("friends_online.php?fo="+id+"&random=" +
            unique_requestid());
    };
}