JS如何实现倒计时功能,如何防止刷新。 5

 我来答
百度网友26f7db8
2015-09-01 · TA获得超过160个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:169万
展开全部
倒计时可以用js的setTimeout来控制
http://www.tocus.com.cn/?send=article_show&id=34&class=2
可以循环计时,而对于页面刷新,我们可以屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键来达到效果
<script>
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键
function window.onhelp(){return false} //屏蔽F1帮助
function document.onkeydown(){
if((window.event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39))){
//屏蔽Alt+方向键←
//屏蔽Alt+方向键→
event.returnValue=false;
}
if((event.keyCode==8)||(event.keyCode==116)||(event.ctrlKey && event.keyCode==82)){
//屏蔽退格删除键
//屏蔽F5刷新键
//Ctrl+R
event.keyCode=0;
event.returnValue=false;
}
if(event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11
if(event.ctrlKey && event.keyCode==78)event.returnValue=false; //屏蔽Ctrl+n
if(event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽shift+F10
if(window.event.srcElement.tagName=="A" && window.event.shiftKey)
window.event.returnValue=false; //屏蔽shift加鼠标左键新开一网页
if((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;
}
}
</script>
woshidaniel
2015-08-20 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:948万
展开全部

1、倒计时的总时间从服务器端获取,每次刷新,每次都从服务器端获取

2、获取倒计时总时间后,在客户端进行倒计时。

function timer()
{
var ts = (new Date(2018, 11, 11, 9, 0, 0)) - (new Date());//计算剩余的毫秒数 ,这个时间需要从服务器端获取。
var dd = parseInt(ts / 1000 / 60 / 60 / 24, 10);//计算剩余的天数
var hh = parseInt(ts / 1000 / 60 / 60 % 24, 10);//计算剩余的小时数
var mm = parseInt(ts / 1000 / 60 % 60, 10);//计算剩余的分钟数
var ss = parseInt(ts / 1000 % 60, 10);//计算剩余的秒数
dd = checkTime(dd);
hh = checkTime(hh);
mm = checkTime(mm);
ss = checkTime(ss);
document.getElementById("timer").innerHTML = dd + "天" + hh + "时" + mm + "分" + ss + "秒";
setInterval("timer()",1000);
}
function checkTime(i)  
            {  
               if (i < 10) {  
                   i = "0" + i;  
                }  
               return i;  
            }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zy_try
2012-05-25 · TA获得超过291个赞
知道小有建树答主
回答量:848
采纳率:0%
帮助的人:186万
展开全部
$(function(){
var time = $.cookie("time");
if(time==null){$.cookie("time",200);time=$.cookie("time");}
$("input").val(time);
setTimeout(Round(),1000) ;
})
function Round(){
$("input").val($.cookie("time"));
$.cookie("time")=$.cookie("time")-1;
setTimeout(Round(),1000) ;
}
<input></input>
追问
能语言描述嘛。还有怎么防止刷新
追答
刷新没办法
所以你把你的值存在客户端Cookie里面
而且值变化同步到Cookie
这样你的值刷新了之后也不是初始值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小豆豆wLt
2012-08-30 · TA获得超过240个赞
知道答主
回答量:76
采纳率:0%
帮助的人:33.3万
展开全部
直接用GETTIME调用系统时间不就是了嘛。万一别人设置了关浏览器清除缓存记录(我就爱这么干)那你防止刷新也没用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式