javaScript同意等待代码实现心得


Posted in Javascript onJanuary 01, 2011

正确源程序如下:

<script type="text/javascript"> 
var lastTime = 3; 
function abc() { 
var btnReg = document.getElementById("btnReg"); 
if (!btnReg) { return; } 
if (lastTime <= 0) { 
btnReg.value = "同意"; 
btnReg.disabled = ""; 
clearInterval("TimeId"); 
} 
else { 
btnReg.value = "还剩下" + lastTime + "秒"; 
lastTime--; 
} } 
var TimeId = setInterval("abc()", 1000); 
</script>

我把第四行的 var btnReg = document.getElementById("btnReg")定义为全局变量btnReg = document.getElementById("btnReg");
并且放到函数abc()之外,程序实现不了功能了。

原因如下:浏览器解析Html页面是从上到下,解析到btnReg = document.getElementById("btnReg")时,id为btnReg的按钮还没被解析出来,所以全局变量btnReg的值为为定义,

又因为只执行了一次所以程序实现不了功能了,而正确的源程序每隔一秒就去取一次,等到button按钮解析出来后就可以去到值,程序就可以实现功能了。

Javascript 相关文章推荐
html超链接打开窗口大小的方法
Mar 05 Javascript
JQuery for与each性能比较分析
May 14 Javascript
js日期联动示例
May 02 Javascript
js带前后翻页的图片切换效果代码分享
Sep 08 Javascript
jquery中ajax处理跨域的三大方式
Jan 05 Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
javascript 封装Date日期类实例详解
May 28 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
vue动态渲染svg、添加点击事件的实现
Mar 13 Javascript
使用vuex-persistedstate本地存储vuex
Apr 29 Vue.js
javascript判断用户浏览器插件安装情况的代码
Jan 01 #Javascript
javascript 事件绑定问题
Jan 01 #Javascript
javascript跨域刷新实现代码
Jan 01 #Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 #Javascript
js注意img图片的onerror事件的分析
Jan 01 #Javascript
JavaScript 计算图片加载数量的代码
Jan 01 #Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 #Javascript
You might like
PHP调用三种数据库的方法(1)
2006/10/09 PHP
dedecms系统常用术语汇总
2007/04/03 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
PHP7新特性简述
2017/06/11 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
微信小程序实现多选框功能的实例代码
2020/06/24 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
Python守护进程(daemon)代码实例
2015/03/06 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python连接Redis的基本配置方法
2018/09/13 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
关于分班的感言
2015/08/04 职场文书
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
Consul在linux环境的集群部署
2022/04/08 Servers
Python的property属性详细讲解
2022/04/11 Python