js定时器(执行一次、重复执行)

js定时器(执行一次、重复执行)js 定时器 执行一次 重复执行 这篇文章主要分享一段 js 代码 有关 js 定时器的小例子 分为执行一次的定时器与重复执行的定时器 需要的朋友可以参考下 1 只执行一次的定时器复制代码代码如下 2 重复执行的定时器复制代码代码如下 备注 如果在一个页面中有两个方法 都是在页面加载完成之后执行的 实际却未能按先后顺序执行 可以参照如下方法解决 可以在 onload 方法中添加一个定时器 设置

js定时器(执行一次、重复执行) 这篇文章主要分享一段js代码,有关js定时器的小例子,分为执行一次的定时器与重复执行的定时器,需要的朋友可以参考下 1,只执行一次的定时器 复制代码代码如下: <script> //定时器 异步运行 function hello(){ 
    alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </script> 2,重复执行的定时器 复制代码代码如下: <script> function hello(){ 
    alert("hello"); } //重复执行某个方法 var t1 = window.setInterval(hello,1000); var t2 = window.setInterval("hello()",3000); //去掉定时器的方法 window.clearInterval(t1); </script> 备注: 如果在一个页面中有两个方法,都是在页面加载完成之后执行的,实际却未能按先后顺序执行,可以参照如下方法解决: 可以在onload方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,即可认为区分页面加载运行方法的先后顺序。 在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout("function();",delaytime); 2.循环定时器:timename=setInterval("function();",delaytime); 第一个参数“function()”是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用“;”隔开即可。比如要弹出两个警告窗口,便可将“function();”换成 “alert('第一个警告窗口!');alert('第二个警告窗口!');”;而第二个参数“delaytime”则是间隔的时间,以毫秒为单位,即填写“5000”,就表示5秒钟。   倒计时定时器是在指定时间到达后触发事件,而循环定时器就是在间隔时间到来时反复触发事件,两者的区别在于:前者只是作用一次,而后者则不停地作用。 比如你打开一个页面后,想间隔几秒自动跳转到另一个页面,则你就需要采用倒计定时器“setTimeout("function();",delaytime)” ,而如果想将某一句话设置成一个一个字的出现, 则需要用到循环定时器“setInterval("function();",delaytime)” 。 获取表单的焦点,则用到document.activeElement.id。利用if来判断document.activeElement.id和表单的ID是否相同。 比如:if ("mid" == document.activeElement.id) { 
   alert();},"mid"便是表单对应的ID。 定时器: 用以指定在一段特定的时间后执行某段程序。 JS中定时执行,setTimeout和setInterval的区别,以及l解除方法 setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setTimeout 运用在延迟一段时间,再进行某项操作。 setTimeout("function",time) 设置一个超时对象 setInterval(expression,delayTime),每个DelayTime,都将执行Expression.常常可用于刷新表达式. setInterval("function",time) 设置一个超时对象 SetInterval为自动重复,setTimeout不会重复。 clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象 略举两例。 例1.表单触发或加载时,逐字输出字符串 复制代码代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script language="JavaScript" type="text/javascript"> var str = "这个是测试用的范例文字"; var seq = 0; var second=1000; //间隔时间1秒钟 function scroll() { 
    msg = str.substring(0, seq+1); document.getElementByIdx_x_x('word').innerHTML = msg; seq++; if (seq >= str.length) seq = 0; } </script> </head> <body onload="setInterval('scroll()',second)"> <div id="word"></div><br/><br/> </body> </html>2.当焦点在输入框的时候,定时检查输入框信息,焦点不在时不执行检查动作。 复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script language="JavaScript" type="text/javascript"> var second=5000; //间隔时间5秒钟 var c=0; function scroll() { 
    c++; if ("b" == document.activeElement.id) { 
    var str="定时检查第 "+c+" 次
"
; if(document.getElementByIdx_x_x('b').value!=""){ str+="输入框当前内容为当前内容为
"
+document.getElementByIdx_x_x('b').value+""; } document.getElementByIdx_x_x('word').innerHTML = str; } } </script> </head> <body> <textarea id="b" name="b" style="height:100px; width:300px;" onfocus="setInterval('scroll()',second)"></textarea><br/><br/> <div id="word"></div><br/><br/> </body> </html>3.下面这个是最简单的例子,定时器时间到达后弹出警告窗口。 复制代码代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script language="javascript"> function count() { document.getElementByIdx_x_x('m').innerHTML="计时已经开始!"; setTimeout("alert('十秒钟到!')",10000) } </script> <body> <div id="m"></div> <input TYPE="button" value=" 计时开始" onclick="count()"> </body> </html>4:倒计时定时跳转 复制代码代码如下: <html> <head> <base href="<%=basePath%>"> <title>My JSP 'ds04.jsp' starting page</title> <span id="tiao">3</span> <a href="javascript:countDown"> </a>秒后自动跳转…… <meta http-equiv=refresh content=3;url= '/ds02.jsp'/> <!--脚本开始--> <script language="javascript" type=""> function countDown(secs){ tiao.innerText=secs; if(--secs>0) setTimeout("countDown("+secs+")",1000); } countDown(3); </script> <!--脚本结束--> </head>6: 复制代码代码如下: <head> <meta http-equiv="refresh" content="2;url='b.html'"> </head>7: 复制代码代码如下: <script language="javascript" type="text/javascript"> setTimeout("window.location.href='b.html'", 2000); //下面两个都可以用 //setTimeout("javascript:location.href='b.html'", 2000); //setTimeout("window.location='b.html'", 2000); </script>8: 复制代码代码如下: <span id="totalSecond">2</span> <script language="javascript" type="text/javascript"> var second = document.getElementByIdx_x('totalSecond').innerHTML; if(isNaN(second)){ //……不是数字的处理方法 }else{ setInterval(function(){ document.getElementByIdx_x('totalSecond').innerHTML = --second; if (second <= 0) { window.location = 'b.html'; } }, 1000); } </script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201756.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:41
下一篇 2026年3月20日 上午8:41


相关推荐

  • C语言中volatile关键字的作用[通俗易懂]

    C语言中volatile关键字的作用[通俗易懂]一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变

    2022年6月1日
    35
  • visio professional2007产品密钥_输入您的产品密钥

    visio professional2007产品密钥_输入您的产品密钥W2JJW-4KYDP-2YMKW-FX36H-QYVD8

    2022年8月13日
    11
  • java回车换行符linux,回车换行符 java

    java回车换行符linux,回车换行符 java回车换行符 java 2021 01 3111 28 50 简介 java 中的换行符是 n 和 r 二者的区别是 r 表示回车 n 表示新行 但两者都可以实现换行 具体实现方法如 System out print n 在 java 中 可以使用 n 和 r 来 php 如何去掉换行符 2020 09 02php 去掉换行符的方法 1 通过 tr replace n c

    2026年3月17日
    2
  • js全局替换回车换行符

    js全局替换回车换行符踩了个坑,记录一下。全局换行符是这样用php加上的因为显示的时候需要换行显示但是保存的时候不能把回车换行符保存进数据库呀,所以在保存之前要再次把回车换行符替换没了,发现用js替换\r\n无效,思考了一下,可能是html显示是自动过滤了\r,而以\n来显示吧。于是把替换代码改成:varemialStr=$(“#mail”).val();emialStr=emialStr.r

    2022年5月23日
    134
  • MyBatis逆向工程_java maven

    MyBatis逆向工程_java maven什么是逆向工程    MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。1:mybatis逆向工程开发源码:https://do…

    2022年8月21日
    9
  • mysql删除表语句_navicat不小心把表删了

    mysql删除表语句_navicat不小心把表删了MySQL删除表#1、droptable表名:直接删除表,删除较干净彻底.删除表全部数据和表结构,立刻释放磁盘空间,不管是Innodb和MyISAM;删除学生表:droptablestudent;#2、truncatetable表名:truncatetable:是对表进行先删除,再创建(与原表一致)删除表全部数据,保留表结构,立刻释放磁盘空间,不管是Innodb和MyISAM;删除学生表:truncatetablestudent;#3、dele

    2025年8月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号