<script language="javaScript">var dateParm;
var timeId;
function funName(){
var dateTemp =new Date();
if (dateTemp == dateParm){
window.clearTimeout(timeId)
//执行你要触发的事件
}else{
timeId =setTimeout("funName()",subNum);
}
}
</script>

解决方案 »

  1.   

    setTimeout可以近似打开一个线程,返回值是一个整数,相当于线程ID,只要你用个全局变量随时保存该ID,再打开一线程,让其在指定时间段后clearTimeout(全局变量中保存的线程ID)即可。我认为,思路才是最重要的,代码应该自己完成。(也是我懒)
      

  2.   

    每个客户端的时间都可能不一样,最好在加载页面的时候从服务器取时间,然后用js判断服务器时间是否大于2006-12-30,如果否,则setTimeout("",1800)
      

  3.   

    补充上面的,每30分钟用ajax从服务器再取一次时间,客户端的时间可以修改,服务器的总没有办法了吧
      

  4.   

    samjuly() ( ) 信誉:100  2006-06-09 22:39:00  得分: 0  
     
     
       每个客户端的时间都可能不一样,最好在加载页面的时候从服务器取时间,然后用js判断服务器时间是否大于2006-12-30,如果否,则setTimeout("",1800)
      
     
    s---------------------------------------
    想的比较周到
      

  5.   

    用二个settimeout(,)第一个用来检查是否等于你指定的时间在第一个seettimeout()如果条件满足则调用第二个settimeout()
      

  6.   

    给你段代码,取天气预报的:<script>
    function lnkMouseOut(){
    var obj = event.srcElement;
    if (obj.tagName=="A") obj.className = "A_but";
    var td = getParentTD(obj,"TD");
    if (td)
    td.style.background = "url(images/re_bg3.jpg)";
    }
    function lnkMouseOver(){
    var obj = event.srcElement;
    if (obj.tagName=="A") obj.className = "A_butRed";
    var td = getParentTD(obj,"TD");
    if (td)
    td.style.background = "url(images/re_bg2.jpg)";
    }
    function getParentTD(srcObj,tagName){
    var obj = srcObj;
    while (obj){
    if (obj.tagName==tagName)
    return obj;
    obj = obj.parentElement;
    }
    return null;
    }
    </script>
    <script language=VBScript>
    Function bytes2BSTR(vIn)
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
    <script language="javascript">
    function viewCast()
    {
      try{
        var XmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
        XmlHttp.Open("GET", "http://www.121.com.cn/forecast.jsp", false);
        XmlHttp.setRequestHeader("Content-Type","text/XML");
        XmlHttp.Send();
        var html = bytes2BSTR(XmlHttp.responseBody);
        deCodeCast(html);
      }
      catch (e){
    alert(e.message);
      }
    }String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g,"");
    }
    function deCodeCast(str){
    var strHtml = str.trim();
    var iPos = str.indexOf("<td>");
    if (iPos>0)
    {
    strHtml = strHtml.substring(iPos-3);
    } iPos = strHtml.indexOf("</td>");
    if (iPos>1)
    {
    strHtml = strHtml.substring(0,iPos);
    }
    strHtml = strHtml.replace(/\<br\>/gi,"");
    document.all("castDIV").innerHTML = "<marquee scrolldelay='100' scrollamount='3'>" + strHtml + "</marquee>";
    //alert(strHtml);
    //alert(str.trim());
    //var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    //xmlDoc.loadXML(str.trim());
    //alert(xmlDoc.xml);
    }
    </script>