求助..我想用js做一个jsp网页定时刷新功能,用一个按钮实现开始和停止!!

求助大神..我想用js做一个jsp网页定时刷新功能,用一个按钮实现开始和停止!!点一下开始连续刷新,按钮显示停止刷新,再点一下停止.我现在只能让他连续刷新,按钮也不会切换,也停不下,哭。下面是我写的代码,js初学,网上拼凑的也不好用,求大神帮助改改图片说明
我就想做一个按钮,正常状态显示开始刷新,点击一下就开始连续刷新页面,刷新过程中按钮切换为停止刷新,我再点一下按钮,页面刷新停止,按钮恢复开始刷新...可以吗

7个回答

http://blog.csdn.net/lplanguage/article/details/52538348 看我这篇博文 应该是你需要的

 <input type="button" id="btnRefresh" value="开始刷新" onclick="setBtnState()" />
<script>
    var timer, delay = 2000;//2s刷新一次
    function setBtnState(refresh) {
        var btn = document.getElementById('btnRefresh');

        if (typeof (refresh) == 'undefined') refresh = btn.value == '开始刷新';

        btnRefresh.value = refresh ? '停止刷新' : '开始刷新';
        if (refresh) timer = setTimeout(function () { location.reload(); }, delay);
        else clearTimeout(timer);
        document.cookie = 'refresh=' + (refresh ? 1 : 0);
    }
    setBtnState(document.cookie.indexOf('refresh=1') != -1);

    document.write('<br>' + new Date().toLocaleString() + '<br>' + document.cookie)
</script>
yinseye01
yinseye01 回复showbo: 没错,对对!我的按钮在js下面,我这里的页面body部分都在js下面,我的错,我不太懂,我把按钮放在上面真的可以刷了,可是我的按钮跑到上面去了,还多了窜乱码!这个是setBtnState生成的?怎么把它搞掉呀...![图片说明](http://img.ask.csdn.net/upload/201706/08/1496911239_190134.png)
3 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复yinseye01: 你代码放错位置了吧。。script要放到button下面,放前面初始化从cookie中判断是否需要继续刷新会出错。看你的描述应该是将js代码放到dom前面了,要放后面。或者setBtnState(document.cookie.indexOf('refresh=1') != -1);这句放到onload中执行window.onload=function(){setBtnState(document.cookie.indexOf('refresh=1') != -1);}
3 年多之前 回复
yinseye01
yinseye01 回复showbo: 嗯,悬赏也可以提升的吧?这个问题困扰我好几天了![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/9.gif)接把btnRefresh改成btn就行吗,它显示null为空或不是对象...按钮的id我也改成btn了也不行..我改的对吗
3 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复yinseye01: 丢。。直接引用id出错了。btnRefresh.value = refresh ? '停止刷新' : '开始刷新';===》btn .value = refresh ? '停止刷新' : '开始刷新';。。记得采纳:)。。
3 年多之前 回复
yinseye01
yinseye01 回复showbo: 噢噢,这个调试很有用...这个是什么情况,未定义呐,厄..我好像没有写错?漏了什么吗![图片说明](http://img.ask.csdn.net/upload/201706/08/1496905429_217141.png)
3 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复yinseye01: 我发的这个代码还是你的?我的这个测试没有问题,你的自己f12调出浏览器开发工具看控制台报什么错误
3 年多之前 回复
yinseye01
yinseye01 回复showbo: 噢噢,一开始使用chrome测试的,点击有效,按钮切换成功,但是只能刷新一次,刷完按钮自动变为开始刷新,然后就不再刷新了......但是换成IE浏览器之后按钮无法点击了,这是什么原因?点击无反应![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/3.gif)
3 年多之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 需要注意本地file测试不要用chrome,file协议生成不了cookie。
3 年多之前 回复

var ds;

 开始
 ds=setTimeOut("fun",1000);
 停止
 window.clearTimeOut(ds);

setInterval差不多

settimerout 1000就是一秒刷新一次,你可以用定时器,而不是定时刷新。

噢,主要我这样刷新就搞了很久,能不能帮我补充一下,不知道怎么改了,感谢了!

这个问题说实话有点难

网页一刷新,你的页面组件会被重置,实现思路走偏了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问