javascript //这里发生了什么?

时间:2009-07-14 05:53:50

标签: javascript

我正在查看一个javascript文件试图找出一个计时器问题,但我很遗憾这里到底发生了什么。有人可以将这些代码分解成咬合大小并解释发生了什么吗?

Timer=0;
function countdown(auctionid) {
    var auctions;
    var divs;

    Timer=Timer+1;

    if((Timer%10=="0")||(Timer=="1")) {
        $.get("current.php", {
            id:auctionid
        }, function(data) {
            auctions=data.split("||");
            for(n=0;n<=auctions.length;n++) {
                if(auctions[n] != undefined) {
                    divis=auctions[n].split("##");
                    $('#futu'+divis[0]).html(divis[1]);
                }
            }
        });
    }

    var cauctionid="auctionid";
    var tauctions=auctionid.split("|");
    for(i=0;i<=tauctions.length;i++) {
        if(tauctions[i] != undefined) {
            var dd=$('#futu'+tauctions[i]).text();
            var cdd=dd-1;
            $('#futu'+tauctions[i]).html(cdd);

            dd=dd*1000;
            dday=Math.floor(dd/(60*60*1000*24)*1)
            dhour=Math.floor(dd/(60*60*1000)*1)
            dmin=Math.floor((dd%(60*60*1000))/(60*1000)*1)
            dsec=Math.floor(((dd%(60*60*1000))%(60*1000))/1000*1)

            if(dday==0 && dhour==0 && dmin==0 && dsec==0) {
                $('#Bid'+tauctions[i]).html("SOLD");
                //return
            }
            if(dhour <=9) {
                dhour = "0"+dhour;
            }
            if(dmin <=9) {
                dmin = "0"+dmin;
            }
            if(dsec <=9) {
                dsec = "0"+dsec;
            }

            if(dd>=1000) {
                var valll=dhour+":"+dmin+":"+dsec;
            }

            if(dd<1000) {
                var valll="00:00:00";
            }

            $('#Bid'+tauctions[i]).html(valll);
        }
    }
    refreshID = setTimeout("countdown('"+auctionid+"')", 1000);
}

1 个答案:

答案 0 :(得分:2)

每秒,此脚本将更新页面上每个“拍卖”的剩余时间。 setTimeout()的第二个参数是等待的时间,以毫秒为单位,因此1000 = 1秒。

此外,在第1秒,之后每10秒,它将进行一次AJAX调用,以双管(||)分隔的字符串格式检索一组拍卖。然后,它使用来自服务器的数据更新页面上的相应拍卖。