摘要:獲取頁面高度獲取頁面獲取頁面可視寬度獲取頁面寬度獲取頁面獲取頁面可視高度去掉前綴隨機數時間戳全角半角轉換全到半,半到全,其他不轉化半全全半確認是否鍵盤有效輸入值空格和異常數字字母數字鍵盤數字鍵盤符號符號獲取網頁被卷去的位置日期格式化函
獲取頁面高度
function getPageHeight(){ var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat" ? a : g.documentElement; return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight); }
獲取頁面scrollLeft
function getPageScrollLeft(){ var a = document; return a.documentElement.scrollLeft || a.body.scrollLeft; }
獲取頁面可視寬度
function getPageViewWidth(){ var d = document, a = d.compatMode == "BackCompat" ? d.body : d.documentElement; return a.clientWidth; }
獲取頁面寬度
function getPageWidth(){ var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat" ? a : g.documentElement; return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth); }
獲取頁面scrollTop
function getPageScrollTop(){ var a = document; return a.documentElement.scrollTop || a.body.scrollTop; }
獲取頁面可視高度
function getPageViewHeight() { var d = document, a = d.compatMode == "BackCompat" ? d.body : d.documentElement; return a.clientHeight; }
去掉url前綴
function removeUrlPrefix(a){ a=a.replace(/:/g,":").replace(/./g,".").replace(///g,"/"); while(trim(a).toLowerCase().indexOf("http://")==0){ a=trim(a.replace(/http:///i,"")); } return a; }
隨機數時間戳
function uniqueId(){ var a=Math.random,b=parseInt; return Number(new Date()).toString()+b(10*a())+b(10*a())+b(10*a()); }
全角半角轉換
//iCase: 0全到半,1半到全,其他不轉化 function chgCase(sStr,iCase){ if(typeof sStr != "string" || sStr.length <= 0 || !(iCase === 0 || iCase == 1)){ return sStr; } var i,oRs=[],iCode; if(iCase){/*半->全*/ for(i=0; i半*/ for(i=0; i 65280 && iCode < 65375){ iCode -= 65248; } oRs.push(String.fromCharCode(iCode)); } } return oRs.join(""); }
確認是否鍵盤有效輸入值
function checkKey(iKey){ if(iKey == 32 || iKey == 229){return true;}/*空格和異常*/ if(iKey>47 && iKey < 58){return true;}/*數字*/ if(iKey>64 && iKey < 91){return true;}/*字母*/ if(iKey>95 && iKey < 108){return true;}/*數字鍵盤1*/ if(iKey>108 && iKey < 112){return true;}/*數字鍵盤2*/ if(iKey>185 && iKey < 193){return true;}/*符號1*/ if(iKey>218 && iKey < 223){return true;}/*符號2*/ return false; }
獲取網頁被卷去的位置
function getScrollXY() { return document.body.scrollTop ? { x: document.body.scrollLeft, y: document.body.scrollTop }: { x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop } }
日期格式化函數+調用方法
Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond }; if(/(y+)/.test(format)) format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o){ if(new RegExp("("+ k +")").test(format)) format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] :("00"+ o[k]).substr((""+ o[k]).length)); } return format; } alert(new Date().format("yyyy-MM-dd hh:mm:ss"));
時間個性化輸出功能
/* 1、< 60s, 顯示為“剛剛” 2、>= 1min && < 60 min, 顯示與當前時間差“XX分鐘前” 3、>= 60min && < 1day, 顯示與當前時間差“今天 XX:XX” 4、>= 1day && < 1year, 顯示日期“XX月XX日 XX:XX” 5、>= 1year, 顯示具體日期“XXXX年XX月XX日 XX:XX” */ function timeFormat(time){ var date = new Date(time), curDate = new Date(), year = date.getFullYear(), month = date.getMonth() + 10, day = date.getDate(), hour = date.getHours(), minute = date.getMinutes(), curYear = curDate.getFullYear(), curHour = curDate.getHours(), timeStr; if(year < curYear){ timeStr = year +"年"+ month +"月"+ day +"日 "+ hour +":"+ minute; }else{ var pastTime = curDate - date, pastH = pastTime/3600000; if(pastH > curHour){ timeStr = month +"月"+ day +"日 "+ hour +":"+ minute; }else if(pastH >= 1){ timeStr = "今天 " + hour +":"+ minute +"分"; }else{ var pastM = curDate.getMinutes() - minute; if(pastM > 1){ timeStr = pastM +"分鐘前"; }else{ timeStr = "剛剛"; } } } return timeStr; }
解決offsetX兼容性問題
// 針對火狐不支持offsetX/Y function getOffset(e){ var target = e.target, // 當前觸發的目標對象 eventCoord, pageCoord, offsetCoord; // 計算當前觸發元素到文檔的距離 pageCoord = getPageCoord(target); // 計算光標到文檔的距離 eventCoord = { X : window.pageXOffset + e.clientX, Y : window.pageYOffset + e.clientY }; // 相減獲取光標到第一個定位的父元素的坐標 offsetCoord = { X : eventCoord.X - pageCoord.X, Y : eventCoord.Y - pageCoord.Y }; return offsetCoord; } function getPageCoord(element){ var coord = { X : 0, Y : 0 }; // 計算從當前觸發元素到根節點為止, // 各級 offsetParent 元素的 offsetLeft 或 offsetTop 值之和 while (element){ coord.X += element.offsetLeft; coord.Y += element.offsetTop; element = element.offsetParent; } return coord; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80430.html
摘要:標記清除中最常用的垃圾收集方式是標記清除。最后,垃圾收集器完成內存清除工作,銷毀那些帶標記的值并回收他們所占用的內存空間。到年為止,和的實現使用的都是標記清除式的垃圾收集策略或類似的策略,只不過垃圾收集的時間間隔互有不同。 標記清除 Javascript中最常用的垃圾收集方式是標記清除(mark-and-sweep)。當變量進入環境(例如,在函數中聲明一個變量)時,就將這個變量...
摘要:字符串長度截取,替換全部清除空格清除左空格右空格判斷是否以某個字符串開頭判斷是否以某個字符串結束轉義標簽時間日期格式轉換日一二三四五六判斷是否為數字類型設置值獲取值加入收藏夾加入收藏失敗,請使用進行添加設為首頁該操作被瀏覽器拒絕,如 字符串長度截取 function cutstr(str, len) { var temp, icount = 0, ...
閱讀 1470·2019-08-30 15:55
閱讀 1172·2019-08-30 15:52
閱讀 1282·2019-08-29 13:53
閱讀 1465·2019-08-29 11:19
閱讀 2964·2019-08-26 13:29
閱讀 527·2019-08-26 11:33
閱讀 2587·2019-08-23 17:20
閱讀 1022·2019-08-23 14:14