欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

網(wǎng)頁實時顯示服務器時間和javscript自運行時鐘

 更新時間:2014年06月09日 17:31:25   作者:  
如果每秒通過ajax加載服務器時間的話,就會產(chǎn)生大量的請求,于是打算使用js 來解決這個需求
最近項目網(wǎng)頁需要實時顯示服務器時間,如果每秒通過ajax加載服務器時間的話,就會產(chǎn)生大量的請求。

于是設計了“javscript自運行時鐘” 和 "ajax加載服務器時間" 相結合的形式來顯示服務器時間?!癹avscript自運行時鐘” 以某初始時間為起點自動運行,"ajax加載服務器時間" 每60s將服務器的時間給“javscript自運行時鐘” 更新。

javscript自運行時鐘:
復制代碼 代碼如下:

/*!
* File: sc_clock.js
* Version: 1.0.0
* Author: LuLihong
* Date: 2014-06-06
* Desc: 自動運行的時鐘
*
* 版權:開源,隨便使用,請保持頭部。
*/

/**
* 格式化輸出
* @returns
*/
String.prototype.format = function() {
var args = arguments;
return this.replace(/\{(\d+)\}/g, function(m, i){return args[i];});
};

/**
* 轉化為數(shù)字
* @returns
*/
String.prototype.toInt = function(defaultV) {
if (this === "" || !(/^\d+$/.test(this))) return defaultV;
return parseInt(this);
};

window.scClock =
{
year : 2014,
month : 1,
day : 1,
hour : 0,
minute : 0,
second : 0,

isRunning : false,
/**
* 顯示時間的函數(shù),調用者在調用startup函數(shù)時傳入。
*/
showFunc : function(){},

/**
* 初始化
*/
init : function(y, mon, d, h, min, s){
this.year = y;
this.month = mon;
this.day = d;
this.hour = h;
this.minute = min;
this.second = s;
},

/**
* 初始化時間:時間格式:2014-06-09 11:30:30
*/
updateTime : function(time) {
var arr = time.split(/[\-\ \:]/);
if (arr.length != 6) return;

this.year = arr[0].toInt(2014);
this.month = arr[1].toInt(1);
this.day = arr[2].toInt(1);
this.hour = arr[3].toInt(0);
this.minute = arr[4].toInt(0);
this.second = arr[5].toInt(0);
},

/**
* 更新時間:時間格式:2014-06-09 11:30:30
*/
updateTime : function(time) {
var arr = time.split(/[\-\ \:]/);
if (arr.length != 6) return;

this.year = arr[0].toInt(2014);
this.month = arr[1].toInt(1);
this.day = arr[2].toInt(1);
this.hour = arr[3].toInt(0);
this.minute = arr[4].toInt(0);
this.second = arr[5].toInt(0);
},

/**
* 開始
*/
startup : function(func) {
if (this.isRunning) return;
this.isRunning = true;
this.showFunc = func;
window.setTimeout("scClock.addOneSec()", 1000);
},

/**
* 結束
*/
shutdown : function() {
if (!this.isRunning) return;
this.isRunning = false;
},

/**
* 獲取時間
*/
getDateTime : function() {
var fmtString = "{0}-{1}-{2} {3}:{4}:{5}";
var sMonth = (this.month < 10) ? ("0" + this.month) : this.month;
var sDay = (this.day < 10) ? ("0" + this.day) : this.day;
var sHour = (this.hour < 10) ? ("0" + this.hour) : this.hour;
var sMinute = (this.minute < 10) ? ("0" + this.minute) : this.minute;
var sSecond = (this.second < 10) ? ("0" + this.second) : this.second;
return fmtString.format(this.year, sMonth, sDay, sHour, sMinute, sSecond);
},

/**
* 增加一秒
*/
addOneSec : function() {
this.second++;
if (this.second >= 60) {
this.second = 0;
this.minute++;
}
if (this.minute >= 60) {
this.minute = 0;
this.hour++;
}
if (this.hour >= 24) {
this.hour = 0;
this.day++;
}
switch(this.month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: {
if (this.day > 31) {
this.day = 1;
this.month++;
}
break;
}
case 4:
case 6:
case 9:
case 11: {
if (this.day > 30) {
this.day = 1;
this.month++;
}
break;
}
case 2: {
if (this.isLeapYear()) {
if (this.day > 29) {
this.day = 1;
this.month++;
}
} else if (this.day > 28) {
this.day = 1;
this.month++;
}
break;
}
}
if (this.month > 12) {
this.month = 1;
this.year++;
}

this.showFunc(this.getDateTime());

if (this.isRunning)
window.setTimeout("scClock.addOneSec()", 1000);
},

/**
* 檢測是否為閏年: 判斷閏年的規(guī)則是,能被4整除,但能被100整除的不是閏年,能被400整除為閏年.
*/
isLeapYear : function() {
if (this.year % 4 == 0) {
if (this.year % 100 != 0) return true;
if (this.year % 400 == 400) return true;
}
return false;
}

};

調用代碼:
復制代碼 代碼如下:

/**
* 開始系統(tǒng)時間
*/
function startupClock() {
if (window.scClock) {
window.scClock.startup(function(time){
$("#currTime").text(time);
});
}
}
/**
* 加載系統(tǒng)時間
*/
function loadSystemTime() {
var jsonData = {
"ajaxflag": 1,
"mod": "time_mod"
};
$.getJSON(ajax_sc_url, jsonData, function(data){
if (data.code==0) {
if (window.scClock)
window.scClock.updateTime(data.time);
}
});
setTimeout("loadSystemTime()", 60000);
}

html顯示代碼:
復制代碼 代碼如下:

<span id="currTime"></span>

相關文章

  • JavaScript常用小技巧小結

    JavaScript常用小技巧小結

    這篇文章主要介紹了JavaScript常用小技巧小結,需要的朋友可以參考下
    2014-12-12
  • Layui組件Table綁定行點擊事件和獲取行數(shù)據(jù)的方法

    Layui組件Table綁定行點擊事件和獲取行數(shù)據(jù)的方法

    今天小編就為大家分享一篇Layui組件Table綁定行點擊事件和獲取行數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 解決layui的使用以及針對select、radio等表單組件不顯示的問題

    解決layui的使用以及針對select、radio等表單組件不顯示的問題

    今天小編就為大家分享一篇解決layui的使用以及針對select、radio等表單組件不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • js FLASH幻燈片字符串中有連接符&的處理方法

    js FLASH幻燈片字符串中有連接符&的處理方法

    一般情況下我們在FLASH幻燈片字符串中有連接符時點擊鏈接就會不正常,造成鏈接中的參數(shù)丟失,那么就需要用encodeURIComponent來對鏈接地址進行編碼
    2012-03-03
  • JS實現(xiàn)圖片自動播放效果

    JS實現(xiàn)圖片自動播放效果

    這篇文章主要為大家詳細介紹了JS實現(xiàn)圖片自動播放效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 如何在JavaScript中運行.NET?Core代碼詳情

    如何在JavaScript中運行.NET?Core代碼詳情

    這篇文章主要介紹了在JavaScript中運行.NET?Core代碼詳情,DotNetJS可以將C#項目編譯為與任何環(huán)境兼容的單文件JavaScript庫,變可以在JavaScript中運行.NET?Core代碼,相關操作分享詳情,需要的小伙伴可以參考一下
    2022-04-04
  • JavaScript實現(xiàn)代碼雨效果

    JavaScript實現(xiàn)代碼雨效果

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)代碼雨效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • javascript網(wǎng)頁隨機點名實現(xiàn)過程解析

    javascript網(wǎng)頁隨機點名實現(xiàn)過程解析

    這篇文章主要介紹了javascript實現(xiàn)網(wǎng)頁隨機變色及實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • js 圖片轉base64的方式(兩種)

    js 圖片轉base64的方式(兩種)

    這篇文章主要介紹了js 圖片轉base64的方式(兩種),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • JavaScript事件循環(huán)及宏任務微任務原理解析

    JavaScript事件循環(huán)及宏任務微任務原理解析

    這篇文章主要介紹了JavaScript事件循環(huán)及宏任務微任務原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論