梅开二度 激情超越

~~常用激扬的句子去激励自己的学生,为什么自己却莫名的沉沦了!~~

JS函数搜集

//逐渐加吧,都是一些有用的函数,


//添加事件
//addEvent(window,'load',func1,false);
//addEvent(window,'load',func2,false);
//addEvent(window,'load',func3,false)
function addEvent(elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
}
else if (elm.attachEvent) {
var r = elm.attachEvent('on' + evType, fn);
return r;
}
else {
elm['on' + evType] = fn;
}
}

//在页面关闭时清空添加的事件占用的内存
var EventCache = function(){
 var listEvents = [];
 return {
  listEvents : listEvents,
  add : function(node, sEventName, fHandler){
   listEvents.push(arguments);
  },
  flush : function(){
   var i, item;
   for(i = listEvents.length - 1; i >= 0; i = i - 1){
    item = listEvents[i];
    if(item[0].removeEventListener){
     item[0].removeEventListener(item[1], item[2], item[3]);
    };
    if(item[1].substring(0, 2) != "on"){
     item[1] = "on" + item[1];
    };
    if(item[0].detachEvent){
     item[0].detachEvent(item[1], item[2]);
    };
    item[0][item[1]] = null;
   };
  }
 };
}();
addEvent(window,'unload',EventCache.flush);


//添加onload事件
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}
else {
window.onload = function() {
oldonload();
func();
}
}
}

//按class搜索elements并返回
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}

//设置标签的display属性
function toggle(obj) {
var el = document.getElementById(obj);
if ( el.style.display != 'none' ) {
el.style.display = 'none';
}
else {
el.style.display = '';
}

}

//添加节点
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}

//判断value是否在数组中
Array.prototype.inArray = function (value) {
var i;
for (i=0; i < this.length; i++) {
if (this[i] === value) {
return true;
}
}
return false;
};

//cookie管理

 

function getCookie( name ) {
 var start = document.cookie.indexOf( name + "=" );
 var len = start + name.length + 1;
 if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
  return null;
 }
 if ( start == -1 ) return null;
 var end = document.cookie.indexOf( ";", len );
 if ( end == -1 ) end = document.cookie.length;
 return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
 var today = new Date();
 today.setTime( today.getTime() );
 if ( expires ) {
  expires = expires * 1000 * 60 * 60 * 24;
 }
 var expires_date = new Date( today.getTime() + (expires) );
 document.cookie = name+"="+escape( value ) +
  ( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
  ( ( path ) ? ";path=" + path : "" ) +
  ( ( domain ) ? ";domain=" + domain : "" ) +
  ( ( secure ) ? ";secure" : "" );
}

function deleteCookie( name, path, domain ) {
 if ( getCookie( name ) ) document.cookie = name + "=" +
   ( ( path ) ? ";path=" + path : "") +
   ( ( domain ) ? ";domain=" + domain : "" ) +
   ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}//prototype.js里的函数$()function $() {
 var elements = new Array();
 for (var i = 0; i < arguments.length; i++) {
  var element = arguments[i];
  if (typeof element == 'string')
   element = document.getElementById(element);
  if (arguments.length == 1)
   return element;
  elements.push(element);
 }
 return elements;
}
//以上来自于http://www.dustindiaz.com/basement/common.js

//下面是另外地方copy来的
//--------------------------------------string-----------------------------------------

String.prototype.lTrim = function () {return this.replace(/^\s*/, "");}
String.prototype.rTrim = function () {return this.replace(/\s*$/, "");}
String.prototype.trim = function () {return this.rTrim().lTrim();}
String.prototype.endsWith = function(sEnd) {return (this.substr(this.length-sEnd.length)==sEnd);}
String.prototype.startsWith = function(sStart) {return (this.substr(0,sStart.length)==sStart);}
String.prototype.format = function()
{ var s = this; for (var i=0; i < arguments.length; i++)
{ s = s.replace("{" + (i) + "}", arguments[i]);}
return(s);}
String.prototype.removeSpaces = function()
{ return this.replace(/ /gi,'');}
String.prototype.removeExtraSpaces = function()
{ return(this.replace(String.prototype.removeExtraSpaces.re, " "));}
String.prototype.removeExtraSpaces.re = new RegExp("\\s+", "g");
String.prototype.removeSpaceDelimitedString = function(r)
{ var s = " " + this.trim() + " "; return s.replace(" " + r,"").rTrim();}
String.prototype.isEmpty = function() {return this.length==0;};
String.prototype.validateURL = function()
{ var urlRegX = /[^a-zA-Z0-9-]/g; return sURL.match(urlRegX, "");}
String.prototype.isEmail = function()
{ var emailReg = /^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return emailReg.test(this);}
String.prototype.isAlphaNumeric = function()
{ var alphaReg = /[^a-zA-Z0-9]/g; return !alphaReg.test(this);}
String.prototype.encodeURI = function()
{ var returnString; returnString = escape( this )
returnString = returnString.replace(/\+/g,"%2B"); return returnString
}
String.prototype.decodeURI = function() {return unescape(this)}

//--------------------------------------Array-----------------------------------------

Array.prototype.indexOf = function(p_var)
{
 for (var i=0; i<this.length; i++)
 {
  if (this[i] == p_var)
  {
   return(i);
  }
 }
 return(-1);
}
Array.prototype.exists = function(p_var) {return(this.indexOf(p_var) != -1);}
Array.prototype.queue = function(p_var) {this.push(p_var)}
Array.prototype.dequeue = function() {return(this.shift());}
Array.prototype.removeAt = function(p_iIndex) {return this.splice(p_iIndex, 1);}
Array.prototype.remove = function(o)
{
 var i = this.indexOf(o); if (i>-1) this.splice(i,1); return (i>-1)
}
Array.prototype.clear = function()
{
 var iLength = this.length;
 for (var i=0; i < iLength; i++)
 {
  this.shift();
 }
}
Array.prototype.addArray = function(p_a)
{
 if (p_a)
 {
  for (var i=0; i < p_a.length; i++)
  {
   this.push(p_a[i]);
  }
 }
}


Request = {
 QueryString : function(){
  var sValue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
  return sValue ? sValue[1] : sValue;
 }
}

Cookie = {
 Set : function (){
  var name = arguments[0], value = escape(arguments[1]), days = 365, path = "/";
  if(arguments.length > 2) days = arguments[2];
  if(arguments.length > 2) path = arguments[3];
  with(new Date()){
   setDate(getDate()+days);
   days=toUTCString();
  }
  document.cookie = "{0}={1};expires={2};path={3}".format(name, value, days, path);
 },
 Get : function (){
  var returnValue=document.cookie.match(new RegExp("[\b\^;]?" + arguments[0] + "=([^;]*)(?=;|\b|$)","i"));
  return returnValue?unescape(returnValue[1]):returnValue;
 },
 Delete : function (){
  var name=arguments[0];
  document.cookie = name + "=1 ; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
 }
}

posted on 2006-12-19 09:21 梅开二度 激情超越 阅读(269) 评论(0)  编辑 收藏 引用 网摘 所属分类: Javascript


只有注册用户登录后才能发表评论。

My Links

Blog Stats

留言簿(3)

随笔分类(22)

随笔档案(21)

文章分类(48)

文章档案(44)

相册

收藏夹(40)

Favorite site

My Friends

搜索

最新评论