zoukankan      html  css  js  c++  java
  • 定时刷新页面SetInterval 和setTimeout -时间间隔可以动态设定

    JS里设定延时:

    使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。

    setTimeout("function",time) 设置一个超时对象       setInterval("function",time) 设置一个超时对象

    SetInterval为自动重复,               setTimeout不会重复。

    clearTimeout(对象) 清除已设置的setTimeout对象    clearInterval(对象) 清除已设置的setInterval对象

    举例 1、:放到js代码中,页面加载完就设定了,时间到就刷新整个页面,缺点是无法动态更改刷新间隔。

    function myrefresh() { window.location.reload(); } 
    setTimeout('myrefresh()',5000); //指定5秒刷新一次

      方法二、 :<head><meta http-equiv="refresh" content="60"></head> 

    ====为了实现可以更改动态修改刷新间隔【上面的方法是做不到的】

    分析:因为本页面是用jsp 方式,没有用到异步刷新填充数据,目前很有局限性。

    改造:方法1、不要刷新整个页面,定时触发ajax请求数据回来 动态创建表格填充数据;

        方法2、用iframe的方式,弄成多页面的感觉,js 定时刷新 iframe里面的页面

    方法3、还是采用目前方式,变通一下。动态参数通过请求地址参数 传递。js代码如下:

    $(function() {
        //先定义一个静态方法getUrlParam(拓展工具)的方式
        (function($) {
            $.getUrlParam = function(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                var r = window.location.search.substr(1).match(reg);
                if (r != null)
                    return unescape(r[2]);
                return null;
            }
        })(jQuery);
        var xx = $.getUrlParam('pn');//获取参数 大于0才设定,如果为0视为停止刷新
        if (xx > 0) { 
            setTimeout('myrefresh1(' + xx + ')', xx);//设定本次定时间隔
        }
    
    });
    
    function queryItems() {
        document.itemsForm.action = "${pageContext.request.contextPath }/coins/list.action";
        document.itemsForm.submit();
    }
    function myrefresh1(interval) {
        // window.location.reload();改用下方方法
        self.location = 'list?pn=' + interval;//将时间间隔作为请求参数,controller中并不使用它
    }
    var st;
    function StartReflesh() {
        var time = document.getElementById("selectTime").value;//js获取值
        st = setInterval('myrefresh1(' + time + ')', time);//设定定时间隔,并把 间隔传参给地址
    }
    function EndReflesh() {
        // clearInterval(st);
        self.location = 'list?pn=0';//停止刷新时参数 pn是为0
    }

     其实不断刷新页面是很不好的,最好异步请求数据 填充。 后续改善,待更新.....

  • 相关阅读:
    跨域抓取360搜索结果
    css的圣杯布局
    css的双飞翼布局
    C#WebBroswer控件的使用
    使用Chart控件进行实时监控
    GzipStream的简单使用压缩和解压
    poj 1611 The Suspects
    hdu 1856 More is better
    hdu 1232
    UvaOJ 10167
  • 原文地址:https://www.cnblogs.com/rogge7/p/7661266.html
Copyright © 2011-2022 走看看