定時器setInterval 開始、暫停、繼續!

活很少說,最近寫這個定時器,,遇到了一些問題。而後上網百度。避免之後朋友遇到相似問題。貼出代碼。。。。html

最主要就是定義全局變量。 下面重要的我紅色 標註出來。spa

批註:如 賦值代碼,請給出源碼地址。O(∩_∩)O謝謝。。。。code

 

這是主要js方法。htm

 var timeoutrun = {
            timer: null, //全局變量,暫停用。
            j: 0, //全局變量 繼續用。
            MyAutoRun: function (data, areanum) { //開始方法
                var timenum = data.length / areanum; //總數 /區域= 時間次數
                var j = timeoutrun.j;
                timeoutrun.timer = setInterval(function () {
                    if (j < timenum) {
                        var WrwArrary = new Array();
                        var array1 = new Array();
                        var tempString = "";
                        for (var i = j * areanum; i <= (j + 1) * areanum - 1; i++) {
                            var obj = {};
                            obj.stcode = data[i].stcode;
                            obj.stname = data[i].stname;
                            obj.area = data[i].area;
                            obj.areacode = data[i].areacode;
                            obj.item_code = data[i].item_code;
                            obj.DT = data[i].DT;
                            obj.p_pfl = data[i].p_pfl;
                            obj.p_level = data[i].p_level;
                            WrwArrary.push(obj);
                        }
                        $("#txt_nowTime").attr("value", WrwArrary[0]['DT']);
                        parent.parent.njgis.setStyleforArea(WrwArrary);
                        j++
                        timeoutrun.j = j; //記錄次數 繼續。
                    } else {
                        timeoutrun.j = 0; //主要是讓 開始從新繼續。
                    }
                }, 2000);
            }, MyAutoRunSuspend: function () { //暫停方法
                clearInterval(timeoutrun.timer); 
            }
        }

 

下面是用法----------------------------------------------------------------------------------------------------------------------blog

 

  SuspendEvent: function (panelId, areanum) {//暫停繼續切換 事件
                if (Event.isFlag == 1) { //已經定義了 isFlag全局變量,主要讓圖片 按鈕來回切換
                    Event.isFlag = 2;
                    $('#suspend span:last').html('繼續');
                    $('#suspend span:last').attr("class", 'l-btn-text ico_begin l-btn-icon-left');
                    timeoutrun.MyAutoRunSuspend(); //調取時間 和 渲染
                    $('#stateShow img').attr("src", '../image/suspend.gif');
                } else {
                    Event.isFlag = 1;
                    $('#suspend span:last').html('暫停');
                    $('#suspend span:last').attr("class", 'l-btn-text ico_stop l-btn-icon-left');
                    timeoutrun.MyAutoRun(data1, areanum); //調取時間 和 渲染  繼續是再調用開始方法。
                    $('#stateShow img').attr("src", '../image/loading.gif');
                }

            }

實現以後。事件

1-3張圖片。主要是開始,暫停,繼續。圖片


 

 


 

相關文章
相關標籤/搜索