关于JS停止计时器后,启动不了的问题

大侠们好,我的页面有一个计时器,每1秒访问一次action,如果action返回的数值有变化就显示一个div,然后有一个点击弹出的div时触发的方法,该方法:先停止计时器,然后改变iframe的显示页面,再把div隐藏起来,然后启动计时器,可是计时器在点击后只执行了一次。。。就停止了,这是为什么?以下是代码片段:

 function order_tip(){  
    var element = document.getElementById("tip");  
    //调用XMLHttpRequest对象的open方法,打开与服务器之间的同步通信连接  

    /** 
     * 建立异步连接 
     * xmlhttprequest.open(Method,Url,Async,User,Password)方法 
     * Method:表示Http方法,POST,GET,PUT,PROPFIND 
     * Url:参数请求的url 
     * Async:可选项,设置是否为异步通信, 
     *      默认true表示可以异步, 
     *      取false,表明异步发出请求之后不需要等待服务端的响应,继续执行其他操作。 
     * User,password:可选项,表示请求的文件需要进行服务器进行验证 
     */  
    xmlhttprequest.open("POST","user/ordercatchtip",false); 
    /** 
     * 设置请求的消息头 
     * application/x-www-form-urlencoded表示传递的是表单值 
     * 一般使用POST都必须设置此项,否则服务器无法识别传递过来的数据 
     * 虽然该值表示表单值,但是也可以一text/xml或者application/xml类型给服务器直接发送XML数据 
     * 甚至也可以application/json类型发送JavaScript对象数据 
     */  
    xmlhttprequest.setRequestHeader('Content-type','application/x-www-form-urlencoded');  
    /** 
     * 设置User-Agent为XMLHTTP便于服务器能够识别出XMLHttpRequest异步请求 
     * 和其他客户端的普通请求 
     */  
    xmlhttprequest.setRequestHeader('User-Agent','XMLHTTP');  

    /** 
     * 向服务器发送请求 
     * xmlhttprequest.send(null) 
     * 只有一个参数,该参数传递客户端发送给服务器的请求数据 
     * 该方法一般是在POST方式下传递参数,多个参数用&隔开 
     */  
    xmlhttprequest.send(null);  

    var str = xmlhttprequest.responseText;//获取action的返回值

    if(str=="notcatch"){//判断action返回值
        if(element.style.display == ""){
        }else{
            element.style.display = "none";
            element.innerHTML = "";   
        }
    }else{
        element.style.display = "";
        element.innerHTML = "商家已接单!";
    }
    }

    window.onload = function star_check(){
        timer = setInterval(order_tip,1000);//计时器
    }

    function neworder_check(){
        clearInterval(timer);//停止计时器
        //document.getElementById("tipdeal").click();//点击隐藏的超链接
        window.frames["menu"].location.href = "user/ordercatchcheck";
        document.getElementById("tip").style.display = "none";//设置属性为隐藏
        timer = setInterval(order_tip,1000);//开启计时器
    }

    <body>

    <div class="con_right">
   <iframe name="menu" src="user/menuhotlist" class="iframe_menu"></iframe>
  </div>

    <div id="tip" onclick="neworder_check()"></div>

    </body>

2个回答

F12看浏览器调试工具报什么错误。没见你在哪定义和创建xmlhttprequest这个变量

 去掉业务逻辑,专门测试定时看有没有问题
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于tomcat5.0启动后无法停止问题
启动了tomcat5.0后,鼠标右键单击右下角的那个tomcat图标,那个stop service和start service的选项都不能选择了。然后打开Configure Tomcat后,按那个stop也无法停止。localhost:8080无法进入。然后想关闭tomcat后想删除bin目录下的tomcat5.0.exe也无法删除,说正在运行,打开任务管理器没有看见tomcat运行的迹象。究竟是什么问题呢?请各位大虾赐教。
服务器启动后停止
参数:max_connections error:too many connections 默认是512 超过了数据库最大的连接数 如何处理 方法一 第一步 修改参数  show variables like '%connect%'; set global max_connections=1000; 这个方法不太好 因为一个连接会分配20M参数 第二步 show vari
我的IIS停止了,启动都启动不了
当我用IIS浏览网页的时候,却发现我的IIS是停止的,右键点击启动就提示“服务没有及时响应启动或控制请求”,请有遇到此问题的高手解决一下,最好是详细说明一下
线程里可以停止计时器,却不能启动计时器?
'测试代码如下(vb.net):rnPrivate ThreadStartTimer As New Threading.Thread(AddressOf StartTimer)rnPrivate ThreadStopTimer As New Threading.Thread(AddressOf StopTimer)rnrn'启动无效rnPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click rn ThreadStartTimer.Start() rnEnd Subrnrn'停止有效rnPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click rn ThreadStopTimer.Start() rnEnd SubrnrnPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tickrn Label1.Text = NowrnEnd SubrnrnPrivate sub StartTimer()rn Timer1.Interval = 1000rn Timer1.Enabled = Truern Timer1.Start()rnEnd SubrnrnPrivate sub StopTimer() rn Timer1.Enabled = Falsern Timer1.Stop()rnEnd Subrnrn
关于线程的启动和停止问题?
“开始”按键的代码: rnHScan=CreateThread(NULL,0,Scan,NULL,0,&ScanId);rnrn“停止”按键的代码:rn if(HScan) rn rn TerminateThread(HScan,0);rn ::CloseHandle(HScan);rn rn调试中出现问题,如何做到按“开始”开始线程,“停止”则停止可以反复操作而且始终只有一个线程
关于线程的停止和启动问题
线程中有连接远程数据库。如果执行中间网络有问题的话线程就停在那儿了,即使停止线程再启动还是没反映。需要整个程序退出再运行才行。rnrn停止及启动线程程序如下:rnrnprocedure Tmain.Button1Click(Sender: TObject);rnbeginrn trans := transthread.Create(False);rn label1.Caption:='服务运行中';rn button1.Enabled:=false;rn button2.Enabled:=true;rnend;rnrnprocedure Tmain.Button2Click(Sender: TObject);rnbeginrn trans.Terminate;rn trans.WaitFor;rn trans.Free;rn label1.Caption:='服务已终止';rn button1.Enabled:=true;rn button2.Enabled:=false;rnend;rn
关于TOMCAT的启动和停止的问题!
我用的是2k,tomcat可是的停止功能形同虚,不管用,还有就是就是rn当改变conf里的server.xml和web.xml都得重新起机器才好用,rn我说的是重起机器,请大家注意,我受得了吗?rn对了我用的是TOMCAT 4.1高手们,这到底是怎么回事呀?rn
关于触发器停止和启动的问题
--禁止打开表中的所有触发器:rn--alter table 表A disable trigger allrnrn--重新打开表中的所有触发器:rn--alter table 表A enable trigger allrnrn上述两条语句能否在有大量用户操作表A时执行?
js笔记:实现计时器三分钟停止
91.练习题:计时器,到3分钟停止 DOM结构:就是原来那些元素,原来叫标签,现在交DOM结构,因为它可以被DOM所操作 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt;     &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;     &amp;lt;title&amp;gt;frame&amp;lt;/title&amp;gt;     &amp;lt;style t
文件下载框会使JS的计时器停止么?
现像是这样的:有一页面A(主页面),弹出一模态页B,B页输出一EXCEL文件,但在文件下载对话框出现的时候,A页一直在执行的一个计时器就停止了(下例中的wacth),有人能说下原因么?rnrn代码:rnA.aspx js:rn[code=JScript]rnfunction watch()rnrn var hash = new $H(); //创建一个HASHrn _Ajax("watch.aspx",callback,hash); //封装的AJAXrn function callback(htmlText)rn rn //逻辑处理rn if(不符合条件)rn rn setTimeout("wacth()",2000);rn rn rnrnrn[/code]rnrn
js计时器(开始计时、停止计时、重置)
计时器的实现,有开始计时、停止计时、重置功能。
切换页面导致计时器停止,JS暂停!
引:现在浏览器,除了ie8及以下的浏览器,当你切换标签页面时,浏览器会自动清除本页面的js缓存。 1、为什么? 因为现在的浏览器为了性能考虑,在你切换完选项卡之后会清除掉这里的缓存数据。这属于浏览器层面的逻辑,通过代码无法解决。 2、导致什么? 比如我们在做倒计时计时器时,当你切换页面时,原来倒计时是30秒的,回来后,还是30秒。这就起不到了倒计时的功效了。 3、怎么解决? ①放入后台...
JS关于计时器函数传参
计时器函数容易被健忘的,无名函数传参
js定制器启动与停止
&lt;script type="text/javascript"&gt; //定时执行的函数 function demo(){ console.log("demo"); } //定义定时器(调用函数不加()),此代码执行之后,定时器已启动 var demo_interval = setInterval(demo, 1000); //停止 clearInterval...
关于服务的启动与停止
各位大侠,谁知道在VC中怎么通过code来实现停止或启动一个Windows的Service?
关于Oracle数据库的启动和停止
Oracle9I开始,取消了服务器管理器(svrmgl)和internal用户,数据库的启动和停止都是通过sql*plus来完成!Oracle10g可以通过浏览器来启动和停止数据库服务!这里主要说说9I下的启动和停止服务,下面的命令在8i下也可以使用 要启动或者停止服务,必须拥有sysdba的权限。可以使用两中方式连接 第一种,以sys用户连接 c:\&amp;gt;;sqlplus sys/change...
关于线程的启动和停止
我写了一个com用来启动一个监听线程然后做一些操作,rn使用afxBeginThread来启动,现在想要停止这个线程使用TerminateThreadrn运行后可以停止,问题是我重新再启动以后连接这个监听端口的时候连接失败,不知是为什么?不知是不是停止的时候出了问题,望指教。rnrn
关于instance启动停止
当前的instance: [code=&quot;java&quot;] //windows C:\Documents and Settings\Mark&gt;set DB2instance DB2INSTANCE=DB2 C:\Documents and Settings\Mark&gt;echo %DB2INSTANCE% DB2 //linux [db2inst1@server1 ~]$ db2 ...
MySQL80服务启动后停止
今天登录数据库发现连接不上,mysql服务无法启动,手动启动则发现MySQL80服务启动后停止,查找别人的经验初始化后初始化了一下,无奈进入了--skip-grand-tables模式,然后还是无法链接navicat。 没办法重装吧,结果完全卸载状态后重启重新安装时还是会卡在start service处,纠结了半天,到处查也没发现解决办法。包括修改my.ini文件,最基本的中文路径,把windo...
activemq正常启动后停止
activemq正常启动后,访问localhost:8161/admin 异常,并且./bin/activemq status显示ActiveMQ not running,即ActiveMQ当前是停止状态。 但在启动时日志输出是正常的。 分析解决 在activemq目录下运行 ./bin/activemq console 会以调试模式启动,并将日志输出到当前页面。 运行后报错如下: ...
PostgreSQL 服务启动后停止
PostgreSQL服务停止后,在任务管理器中启动PostgreSQL服务,服务显示已停止,误以为是服务根本未启动。打开服务窗口,启动PostgreSQL服务,才发现报错,服务启动后停止。这个事情告诉我们不要懒,开服务还是要在服务中心去开,否则你根本不知道是什么错误,什么原因。                进入事件查看器(计算机管理——事件查看器——Windows日志)查看,并没
W2K启动后即停止!
进“带命令行的安全模式”一切正常。其余包括“带网络连接的安全模式”等等,输入帐号登陆后,当桌面显示完毕即告停止,具体表现为:鼠标可以移动,但移到任务拦时鼠标为“忙”的图标,且点击任何地方都无响应,且“我的电脑”、“VB”、“WORD”等等图标或快捷方式的图标显示为未知类型的图标(即白纸上一个windows的那种)。进“带命令行的安全模式”中,在注册表和其他有自动启动项的文件(如wininit.ini、winstart.bat等等)中把所有无关的项全删掉了,重新启动正常模式进去问题如故!而且还试过从其他机器复制如explorer.*、ntldr等等的到这台机器上,也没用!想用杀毒盘启动杀毒(先KV后用瑞星),都无法装载病毒库,所以不能杀毒!认为可能是某个正常模式等需要而进“带命令行的安全模式”不需要的系统文件破坏了,但不知是哪个?在“任务管理器”中有loadqm、3721等东东!请大师们伸手伸脚扶我啊!急啊!
Arcsde10.0服务启动后停止
这种问题出现后,应该关注两个log.第一是"#homeSDE\etc\sde_esri_服务名.log";第二是 "#homeSDE\etc\giomgr_esri_服务名.log" (#homeSDE是sde的安装目录,例如我的oracle sde 的路径D:\ArcSDE\ora11gexe\etc) 一, 现象:服务启动后又停止,错误日志如下: #homeSDE\etc\sde_e
sde服务启动后停止
我把sde用户删除再创建后就出现sde服务启动后停止错误,以下为日志文件:rngiomgr_esri_sde.log日志文件内容rnrnSun Oct 16 16:19:44 2016 - ****** Spatial Database I/O Manager ******rnSun Oct 16 16:19:44 2016 - SDE System Startup Initiated . . .rnSun Oct 16 16:19:44 2016 - Validated System Paths.rnSun Oct 16 16:19:44 2016 - SDE IOMGR going into background . . .rnrnsde_esri_sde.log日志文件内容rnrn-------------------------------------------------------rn10.2 geodatabasern-------------------------------------------------------rnrnST_Geometry is not installed.Instance initialized for ((sde)) . . .rnrnConnected to instance . . .rnPrevious SDE Server Release 0.0.0 is not compatible with the current Release 10.2.0.rnrn求教高手如何解决,感谢!rnrnrnrn
Oracle监听启动后停止
问题描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。 原因:oracle远程访问设置了监听ip,但是重启后ip发生了该变,导致oracle监听不到该ip 解决方法:修改远程访问ip ...
停止当前计时器运行
rnrnrn我在计时器里写了个死循环,rnrn我按F10就启动计时器.rnrn我按F12为什么就停不下来了.rn就一直是在死循环里.rnrn怎么样按F12就直接停止计时器运行.rnrn如果是 timer1.Enabled = false;rn还是陷在死循环里.rnrn有没有办法按F12就直接停止运行. 所有代码都不运行了.rn
解决MYSQL启动后自动停止问题
问题描述: 启动mysql服务后,立即自动停止,无法正常使用,查看mysql安装目录下的data目录中的err日志,有如下信息: InnoDB: Started; log sequence number 0 36060014 MySQL: File '' not found (Errcode: 2) 160909 9:40:48 [ERROR] Failed to open log (f
sde不能启动或者启动后停止
1.手动启动 2.密码过期 登录oracle 或者sqlserver 修改sde用户密码 3.别磨叽,卸载sde重装。重装是sde的密码要符合长度要求,八位一上。
停止所有计时器的方法?
请问如何停止form1窗体上所有的计时器?rn好像是使enabled=false吧?
was6.1服务器启动后,无法停止的问题
was6.1服务器启动后,无法停止的问题,并出现如下异常: [11-3-29 11:08:45:351 CST] 0000000a WsServerStop  E   ADMU3002E: 尝试处理服务器 server1 时发生异常[11-3-29 11:08:45:351 CST] 0000000a WsServerStop  E   ADMU3007E: 异常 com.ibm.websphe...
windows 服务问题 启动后自动停止
using System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Diagnostics;rnusing System.ServiceProcess;rnusing System.Text;rnusing System.IO;rnusing System.Timers;rnrnnamespace WindowsServiceTimernrn public partial class Service1 : ServiceBasern rn public Service1()rn rn InitializeComponent();rn tim = new Timer();rn tim.Interval = 1000;rn tim.Elapsed += new ElapsedEventHandler(tim_Elapsed);rnrn rn bool state1 = true;rn bool state2 = true;rn void tim_Elapsed(object sender, ElapsedEventArgs e)rn rn int hour = DateTime.Now.Hour;rn if ((hour>= 0) && (hour < 12) &&this.state1)rn rn this.print(DateTime.Now.ToString()+":上午好!");rn this.state1 = false;rn this.state2 = true;rn rn else if ((hour>= 12) && (hour < 18) && this.state2)rn rn this.print(DateTime.Now.ToString()+":下午好!");rn this.state2 = false;rn this.state1 = true;rn rnrn rn private Timer tim ;rn protected override void OnStart(string[] args)rn rn // TODO: 在此处添加代码以启动服务。rn rn this.print(DateTime.Now.ToString() + ":服务启动!");rn this.tim.Start();rnrn rnrn protected override void OnStop()rn rn // TODO: 在此处添加代码以执行停止服务所需的关闭操作。rn rn this.print(DateTime.Now.ToString() + ":服务关闭!");rn this.tim.Stop();rn rn private void print(string info)rn rn StreamWriter sw = new StreamWriter("F:\\c#\\WindowsServiceTime\\log.txt",true,Encoding.Default);rn sw.WriteLine(info);rn sw.Flush();rn sw.Close();rnrn rn rnrn
关于SQLServerAgent启动不了的问题
该服务启动不了,原因是MSDB数据库出现问题,rnDatabase "msdb" cannot be opened because some of the filesrncould not be activated.rnrn问:如何修复MSDB数据库?
怎么停止这样的计时器
[code=java]import java.util.Timer;rnpublic class test3 rnrn public static Timer timer = null;rnrn static rn timer = new Timer("czk");rn rnrn public static Timer getTimer() rn if (timer != null) rn return timer;rn else rn return null;rn rn rnrn public static void setSleep() throws Exception rn if (timer != null) rn timer.cancel();rn rn rn[/code]rn[code=java]rnrnimport java.util.Timer;rnimport java.util.TimerTask;rnimport javax.servlet.ServletContextEvent;rnimport javax.servlet.ServletContextListener;rnimport com.czk.main.test3;rnrnpublic class Listener implements ServletContextListener rn rn private Timer timer = test3.getTimer();rn public void contextDestroyed(ServletContextEvent e) rnrn timer.cancel(); rn rn rnrn rnrn public void contextInitialized(ServletContextEvent e) rnrn timer.schedule(Inspection(), 0, 500);rn rn rn private TimerTask Inspection() rnrn TimerTask tt = new TimerTask() rnrn @Overridern public void run() rn for (int i = 0; i < 100; i++) rn try rn System.out.println(i);rn Thread.sleep(1000);rn catch (InterruptedException e) rn e.printStackTrace();rn rn rn rn ;rn return tt;rn rn[/code]rnrn应用启动时候会执行这个定时器,循环打印1-100.rn但是怎么去停止呢。rnrn[code=java]import java.util.Timer;rnpublic class test rnrn public static void main(String[] args) throws Exception rn rn Timer timer1 = test3.getTimer();rn Timer timer2 = test3.getTimer();rn Timer timer3 = test3.getTimer();rn System.out.println(timer1.equals(timer2));rn System.out.println(timer1.equals(timer3));rn timer1.cancel();rn rn[/code]rnrn打印的都是true。rntimer1,timer2,timer3 的引用都是一样的。rn请教高手怎么去停止。
秒表计时器、停止计时
秒表计时器、停止计时 开发工具与关键技术 :VS2015、ASP.NET MVC 撰写时间:2019.6.5 作者:彭碧霞 下面做一个和讲解一下一个及简陋的秒表计时器,还有停止计时。 在演示之前,先说一下这个秒表计时器是在JavaScript 里的计时器,,在JavaScript里面有两种计时器类型,一种是只会在指定的延迟时间之后触发一次,这种称之为一次性计时器;第二种则是就每隔一段指定的时间触发...
iOS 停止计时器计时
1、@property (nonatomic, strong)NSTimer *countDownTimer;2、//开始计时 -(void)start { //设置倒计时总时长 secondsCountDown = 15;//秒倒计时 //设置倒计时显示的时间 labelText.text=[NSString stringWithFormat:@"%d",secon
JS 计时器 清理计时器
script> //每个一秒执行一次 返回的是计时器Id var insetId=setInterval(function () { alert("哈哈"); },1000); //当页面加载完毕后,一秒之后执行函数的代码,执行完毕后,再不会执行 //一次性的计时器 返回的是计时器Id var setId=setTimeout(fun
IIS被停止,怎样也启动不了???
我安装的是windows2000 server操作系统,系统里面默认安装了IIS,但是IIS里面的各功能都显示:被停止!怎么也启动不了,该怎么启动!
为什么数据库会突然停止,启动不了???
数据库为sql server 2000,前面运行一切正常,用了一段时间以后,突然启动不了了,也就是服务管理器的绿色三角,变成了红点,不能启动了,请各位大虾请教,分不够可以在给!谢谢
sqlserver的agent服务停止了,启动不了
我运行了sqlserver的数据库维护计划备分数据库后,sqlserver的agent服务就停止了,怎么启动都启动不了,这是怎么回事呢?
Js计时器的问题~
我需要实现一个有多行数据表格。每行都有当前状态时间这列,每秒+1,数据多的时候比如有100行,setTimeout()就会特别的卡,还有其他的解决方法吗?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法