倒计时30秒

qq_35082495 2016-06-12 12:28:42
<script type="text/javascript">
var coolDownTime=30;//定义一个变量
var coolDown = {
autoTime : function() {
//倒计时的方法
if (coolDownTime > 0) {
coolDownTime--;
$("#cooldown").html("\u300c" + coolDownTime + "\u300d");

} else {
setTimeout("coolDown.returnLoginPage()", 1000);
}
},
returnLoginPage : function() {
//关闭按钮的方法
$("#fullbg,#dialog").hide();
}
};
</script>

<!--倒计时-->
<div id="btnSubmit" style="position:absolute; left:5px; top:11px; font-size:22px; color:#F03;">倒计时<span id="cooldown"></span>
</div>

说明:我想要的显示效果是如果30秒内有操作的话就仍停留在登录页,如果没任何操作的话就返回首页(即:取消这个登陆键盘框)。
可是现在的代码显示的效果是不论有无操作30秒过后都将返回到首页。
求大神指点,多谢!
...全文
252 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35082495 2016-06-24
  • 打赏
  • 举报
回复
多谢大神!!!!!
hch126163 2016-06-13
  • 打赏
  • 举报
回复
没有看到 控制coolDownTime--; 的定时器 如果30秒内有操作的话就仍停留在登录页 有操作指什么操作? 鼠标点击?鼠标移动? 还是精确到,文本框输入,点击添加按钮? 对应事件,清除控制coolDownTime--; 的定时器
xuzuning 2016-06-12
  • 打赏
  • 举报
回复
你的代码中并没有检测 操作 是否发生
笨猿 2016-06-12
  • 打赏
  • 举报
回复
setTimeout("coolDown.returnLoginPage()", 1000); 把里面的“”去掉试试!!~~
笨猿 2016-06-12
  • 打赏
  • 举报
回复
楼主,你的那种写法我不是很懂,恕我级别不够。但是我用我现有的做法也能实现你要的功能,希望能帮到你~

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function(){
	var time=30;
	$("#cooldown").html(time+"s");
	var t=setInterval(function(){
		$("#cooldown").html(time+"s");
		time--;
		if(time==-1){
			var v=$("#w").val();  //获得文本框里的值,判断
			if(v!=""){
				alert(v);
				clearInterval(t); //清除定时器  停留在当前页
			}else{
				window.location="w.html"; //如果没操作(我用文本框代替),就跳转
			}
		}
	},1000);
});
</script>
<style type="text/css">
</style>
</head>
<body>
<!--倒计时-->
<div id="btnSubmit" style="font-size:22px; color:#F03;">倒计时<span id="cooldown"></span>
   </div>
<div>
<textarea style="width:100px; height:80px;" id="w"></textarea>
</div>
</body>
Go 旅城通票 2016-06-12
  • 打赏
  • 举报
回复
    var coolDownTime = 30;//定义一个变量
    var timer;/////计时器句柄
    var coolDown = {
        autoTime: function () {
            //倒计时的方法
            if (coolDownTime > 0) {
                coolDownTime--;
                $("#cooldown").html("\u300c" + coolDownTime + "\u300d");

            } else {
                //////////记住计时器
              timer=  setTimeout("coolDown.returnLoginPage()", 1000);
            }
        },
        returnLoginPage: function () {
            //关闭按钮的方法
            $("#fullbg,#dialog").hide();
        }
    };
    document.onmousemove = document.onclick = function () {
        clearTimeout(timer);//有操作,清除计时器
    }
qq_35082495 2016-06-12
  • 打赏
  • 举报
回复
那如何进行检测呢?
KK3K2005 2016-06-12
  • 打赏
  • 举报
回复
只看见coolDownTime-- 的代码 那不是总归 会 变成0 会returnLoginPage
HD_XB 2016-06-12
  • 打赏
  • 举报
回复
需要清除setTimeout var timer = setTimeout() 在需要取消跳转的地方clearTimeout(timer)

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧