假设我现在有6个button(数量不定)
请问如何实现如下效果:
1.当我双击其中任一一个按钮时,其它button均为灰色不可用状态
2.同时,应该双击的button的value开始变成从双击开始到现在的时间,且为自动刷新
3.再次双击时,停止计时并其它button恢复为可用状态。
想了一些方法,但总感觉不太理想,特别如何进行计时,感觉没什么好的办法。
请高手指点一下,不胜感激!
请问如何实现如下效果:
1.当我双击其中任一一个按钮时,其它button均为灰色不可用状态
2.同时,应该双击的button的value开始变成从双击开始到现在的时间,且为自动刷新
3.再次双击时,停止计时并其它button恢复为可用状态。
想了一些方法,但总感觉不太理想,特别如何进行计时,感觉没什么好的办法。
请高手指点一下,不胜感激!
解决方案 »
- javascript中有没有针对google浏览器的 监听音频的函数?
- 表单验证问题
- ext2.0怎么提交到struts2.0的action的?求一个简单例子..
- 请问在ASP中如何接收POST方法,XMLHttpReq.send(billId)传递过来的参数
- 为虾米DIV不出来?
- 网页的运行速度问题
- 根据数据库显示列表数据中的相应的值
- 去特定长度的字符串问题
- 动态下拉菜单怎么遮不住select控间?
- 有没有一种方法能使一个函数定时运行的?不用setTimeout之类的刷页面
- UEStudio双击高亮显示选择的同类项
- 在单独的js脚本文件中怎么给HTML文件中form的onsubmit事件怎么设置
http://www.w3school.com.cn/htmldom/met_win_setinterval.asp
另外在双击事件时传一个this参数会使代码简化
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var timer = 0, t;
function timing(buttonID) {
var now = new Date();
now = Math.round(parseInt(now.getTime() / 1000));
document.getElementById(buttonID).value = now - timer;
}
window.onload = function() {
var obj = document.getElementById('demo').getElementsByTagName('input');
for (var i = 0; i < obj.length; i ++) {
obj[i].ondblclick = function() {
for (var j = 0; j < obj.length; j ++) obj[j].disabled = true;
this.disabled = false;
if (this.value == this.id) {
timer = new Date();
timer = Math.round(parseInt(timer.getTime()) / 1000);
t = window.setInterval('timing("' + this.id + '")', 1000);
}
else {
window.clearInterval(t);
for (var j = 0; j < obj.length; j ++) obj[j].disabled = false;
this.value = this.id;
}
}
}
}
</script>
</head><body>
<form id="demo">
<input type="button" id="BUTTON1" value="BUTTON1" />
<input type="button" id="BUTTON2" value="BUTTON2" />
<input type="button" id="BUTTON3" value="BUTTON3" />
<input type="button" id="BUTTON4" value="BUTTON4" />
<input type="button" id="BUTTON5" value="BUTTON5" />
<input type="button" id="BUTTON6" value="BUTTON6" />
</form>
</body>
</html>