javascript-setTimeout计时器的问题

问题描述

setTimeout计时器的问题

打算做个60秒后重新获取验证码的按钮
请问各位老师,下面的这种写法为什么提示语法错误呢?

 setTimeout("var t = 60; if(t>1) {
                this.btn_captcha = t + ['秒后重新获取'];
                t = t - 1;
            } else {
                this.btn_captcha = ['获取短信验证码'];
              }",1000);

我知道这样写功能上行不通,但是为什么提示说有语法错误呢?规定setTimeout里面不能添加函数,也就是说("此处不能为函数",1000)。
谢谢。

解决方案

你语法都错了

     var t = 60;
    var timer = setInterval(function () {
        t--;
        if (t == 0) { this.btn_captcha = ['获取短信验证码']; clearInterval(timer); }
        else this.btn_captcha = t + ['秒后重新获取'];
    }, 1000);

解决方案二:

setTimeout(aa, 1000);
function aa(){
var t = 60; if(t>1) {
this.btn_captcha = t + ['秒后重新获取'];

t = t - 1;
} else {
this.btn_captcha = ['获取短信验证码'];
}
}

解决方案三:

javascript中setTimeout的问题
jquery的计时器setTimeout能使用sliderToggle();
关于.Net中的计时器及WPF中最适合的计时器问题

时间: 2024-10-23 23:36:26

javascript-setTimeout计时器的问题的相关文章

javascript实现计时器的简单方法_javascript技巧

计时器, 在生活当中也是用得频繁的功能, 比如锻炼身体, 跑步比赛等等相关的活动. 我们用Javascript来完成一个计时器. 计时器, 主要就是对时间的一个逻辑处理, 比如60秒等于1分钟, 60分钟等于一个小时, 我们这里只做到小时的处理. 就这么一个简单的逻辑, 然后动态的显示在一个Input里面. 那现在我们来完成这个界面 <label>计时:</label> <input type="text" name="" id=&qu

JavaScript的计时器的工作原理

最近都在看一些JavaScript原理层面的文章,恰巧看到了jQuery的作者的一篇关于JavaScript计时器原理的解析,于是诚惶诚恐地决定把原文翻译成中文,一来是为了和大家分享,二来是为了加深自己对于JavaScript的理解.原文链接:http://ejohn.org/blog/how-javascript-timers-work/ 原文翻译: 从基础层面来讲,理解JavaScript计时器的工作原理是很重要的.由于JavaScript是单线程的,所以很多时候计时器并不是表现得和我们的直

javascript setTimeout的深度递归设置完成后回调

setTimeout  在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次 setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式 1,基本用法:    执行一段代码:  代码如下 复制代码    var i=0;    setTimeout("i+=1;alert(i)",1000);    执行一个函数:    var i=0;    setTimeout(function(){i+=1;alert(i);},1000);       //注意比较

javascript setTimeout()传递函数参数(包括传递对象参数)_javascript技巧

于是,上网查找了一下,用了另一种写法setTimeout("fun("+参数+")", 1000),还是不行,但是以上写法在传递form表单的textarea是可以的,比如hml是这样: 复制代码 代码如下: <body> <div class="main"> <div id="showpane" class="showpane"> </div> <di

Javascript setTimeout简单使用教程

var t = settimeout("javascript statement",milliseconds); <body>   <script language="javascript" type="text/javascript">       function delayedalert(){         settimeout("alert('this alert was delayed');"

javascript setTimeout() 倒计时实现代码

<div>距离页面关闭还有 <span id="limit">5</span> 秒</div>  代码如下 复制代码 <script type="text/javascript"> <!-- function showlimit(){     for(var i=5;i>=0;i--){         setTimeout("setlimit("+i+")&quo

javascript setTimeout的一个应用例子

setTimeout( ) setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method.请先看以下一个简单, 这是没有实际用途的例子, 只是用来示范 setTimeout( ) 的语法. 定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式. 语法: setTimeout(code,millisec) 参数: code (必需):要调用的函

javascript setTimeout 教程

setTimeout方法是用于用于在指定的毫秒数后调用函数或计算表达式. 使用方法: setTimeout(code,millisec) 二个参数都是必选项. 必需.要调用的函数后要执行的 JavaScript 代码串.第二为时间参数,多少毫秒执行一次: setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). 好了下面我们来看看settimeout 的一个例子吧. <script type=

JavaScript setTimeout和setInterval的使用方法 说明_javascript技巧

不同的是setInterval会每隔指定的时间段就执行一次代码,具有重复性.而setTimeout只会调用后执行一次. 下面通过函数的建立和函的自动删除来深刻理解两个函数: 1.函数的建立 setTimeOut的建立: 复制代码 代码如下: showTime(); function showTime() { var today = new Date(); alert("The time is: " + today.toString()); setTimeout("showTi

JavaScript setTimeout使用闭包功能实现定时打印数值_javascript技巧

我们这次使用setTimeout来实现一个按照时间定时,依次打印数值的例子.其实在早期的时候,也是我经常犯的一个错误,或者实现这种能力,似乎js比较牵强,其实是我的错,哈哈!没能理解JS强大之处.我们直接进入主题吧!   注意,如果用setInterval来实现的话,那肯定很简单,这次我们是使用setTimeout.   我们先从最简单思考入手.那就会写出下面的代码. for(var i = 0; i < 5; i++) { setTimeout(console.log(i),i*1000);