87,972
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
</head>
<body>
<div>
<input type="submit" id="submit1" value="测试1" />
<button id="button1">测试2</button>
</div>
<script>
var timerc = 5; //全局时间变量(秒数)
function add() {
if (timerc > 0) {
$("#submit1").val('等待' + Number(parseInt(timerc % 60 / 10)).toString() + (timerc % 10));
$("#button1").html('等待' + Number(parseInt(timerc % 60 / 10)).toString() + (timerc % 10));
$("#submit1").attr("disabled", true);
$("#button1").attr("disabled", true);
timerc--;
setTimeout("add()", 1000); //设置1000毫秒以后执行一次本函数
}
else {
$("#submit1").attr("disabled", false);
$("#button1").attr("disabled", false);
$("#submit1").val('确认');
$("#button1").html('确认');
};
};
add(); //首次调用add函数
</script>
</body>
</html>
这样的效果不对吗???楼主什么浏览器,,,我谷歌看很正常啊。。。。
<div>
<input type="submit" id="submit" value="测试" />
</div>
<script>
var timerc = 5; //全局时间变量(秒数)
function add(){
if (timerc > 0) {
$("#submit").val('等待' + Number(parseInt(timerc % 60 / 10)).toString() + (timerc % 10));
$("#submit").attr("disabled", true);
timerc--;
setTimeout("add()", 1000); //设置1000毫秒以后执行一次本函数
}
else {
$("#submit").attr("disabled", false);
$("#submit").val('确认');
};
};
add(); //首次调用add函数
$("#submit").click(function(){timerc = 5;add();}); //新增的代码
</script>
if (timerc > 0) {
//... ...
}
这个判断了。
所以只能执行一次,如果你想让你的代码生效,必须想办法让,再次点击按钮后,除非一个函数,
给赋值timerc=5
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>
<input type="button" id="button" value="确认" disabled="disabled"/>
<br>
<input type="submit" id="submit" value="提交" disabled="disabled"/>
</div>
<script>
var counter = 3;
// ---------------------------------
( function( counter ){
var button = document.getElementById( "button" );
var originalValue = button.value;
var intervalId = null;
intervalId = setInterval(
function(){
if ( counter <= 0 ) {
button.disabled = false;
button.value = originalValue;
clearInterval( intervalId );
return;
}
button.value = originalValue + "(" + counter + ")";
counter--;
}, 1000 );
} )( counter );
// ---------------------------------
/**
* 在等待指定的时间后,开始重复调用某个函数
* @param f 在未来要调用的函数
* @param start start毫秒后开始调用
* @param interval 如果设置了interval,则使用setInterval调用f
* @param end end毫秒后结束setInterval对f的调用,如果没有传入end,则调用不会停止
*/
function invoke(f, start, interval, end) {
if (!start) start = 0;
if (arguments.length <= 2) {
setTimeout(f, start);
} else {
setTimeout(repeat, start);
function repeat() {
var h = setInterval(f, interval);
if (end) {
setTimeout( function(){ clearInterval(h); }, end );
}
}
}
}
( function( counter ){
var button = document.getElementById( "submit" );
var originalValue = button.value;
invoke( function(){
if ( counter <= 0 ) {
button.disabled = false;
button.value = originalValue;
return;
}
button.value = originalValue + "(" + counter + ")";
counter--;
}, 0, 1000, (counter + 1) * 1000 + 100);
} )( counter );
</script>
</body>
</html>