JavaScript addEvent函数

//The addEvent function for page loading an onclicks
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+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);

//usage
addEvent(window, 'load', functionName);

JavaScript toggleCheckboxes

//unchecks all checkboxes
function toggleCheck(field) {
		if (!(field.length)) {
          field.checked = (field.checked == false) ? true : false;
		}
		else {
  		for (var i = 0; i < field.length; i++) {
            field[i].checked = (field[i].checked == false) ? true : false;
    		}
   }
}

JavaScript 提取细胞

var etrows = document.getElementsByTagName("tbody")[3].rows
newdoc = document.open();
for (i=5; i <= etrows.length-3; i++) {
        newdoc.write(i + " ");
	newdoc.write(etrows[i].cells[0].textContent);
	newdoc.write(etrows[i].cells[1].textContent);
	newdoc.write(etrows[i].cells[3].textContent);
	newdoc.write(etrows[i].cells[5].textContent);
	newdoc.write("<br/>");
}

JavaScript 亮度书签

javascript:(function(){var bs=document.getElementsByTagName('body');var b=bs.item(0);var d=document.createElement('div');var s=d.style;s.backgroundColor='#000';s.zIndex='999';s.position='fixed';s.top='0';s.left='0';s.width='100%';s.height='100%';s.MozOpacity='0.05';b.appendChild(d);})()

JavaScript 显示当前时间

var today = new Date();
  		var tag;
          	
                //process Hours
          	var hours = today.getHours();
  					
          	if (hours > 12){
          	hours = hours - 12;
          	tag = "PM";	
          	}
          	else {tag = "AM"}
          	
          	//process Minutes
          	var minutes = today.getMinutes();
  					
          	if (minutes < 10)
  		    minutes = "0" + minutes;
          	
          	//process Seconds
          	var seconds = today.getSeconds();
  					
          	if (seconds < 10)
  		    seconds = "0" + seconds;
  	
		var cur_time = " " + hours + ":" + minutes + ":" + seconds + " " + tag;

JavaScript 创造元素

var lyr = document.getElementById(''); //layer to create under
                
var newEl = document.createElement('div'); //element type

newEl.setAttribute('id','NEW NAME');
newEl.setAttribute('style','padding:2px');
								
lyr.appendChild(newEl);
 
newEl.innerHTML = 'new layer';

JavaScript toggleText

function toggleText(id,text1,text2) {
    var DomObject = document.getElementById(id);
    DomObject.innerHTML = (DomObject.innerHTML == text1) ? text2 : text1;
}


<a href=""toggleText('Link_"&i&"','+','-');"" id=""Link_"&i&""">+</a>

JavaScript 第一个焦点上的清晰表格字段(内联版本)

<script type="text/javascript">
var Handler = {
  clearedOnce : false,
  clear : function ( field ) {
    if (this.clearedOnce == false) {
      field.value = '';
      this.clearedOnce = true;
    }
  }
}
</script>
<!-- then in the XHTML: -->
<input onfocus="Handler.clear(this)" value="foobar" />

JavaScript 没有全局临时变量的唯一ID生成器

var uid = (
  function(){
    var id=0; 
    return function(){
      return id++ ;
    };
  } 
)();
//then just say:
alert(uid()); //alert 1
alert(uid()); //alert 2
alert(uid()); //etc.

JavaScript 将应用程序状态保存在cookie中

function cookieTime(days){
 var now = new Date();
 var exp = new Date();
 var x = Date.parse(now) + days*24*60*60*1000;
 exp.setTime(x);
 str = exp.toUTCString();
 re = '/(\d\d)\s(\w\w\w)\s\d\d(\d\d))/';
 return str.replace(re,"$1-$2-$3");
}

//set cookie:
    var cookieName;  //should be set to something unique
    var stateAsString;  //should be set to a string indicative of the state being saved
    document.cookie = someString+'='+stateAsString+';path=/;expires='+cookieTime(365);

//get cookie
    var re          = new RegExp(cookieName+'=(.*)');
    var state       = re.exec(document.cookie);
    var lastState   = (state) ? state[1].split(';')[0] : 'default state';

/* or, more formally */
var cookieJar: {
    setState: function ( id, value) {
      document.cookie = id+'='+value+';path=/;expires='+cookieTime(365);
    },
    getState: function( id, defaultState ) {
      var re          = new RegExp(id+'=(.*)');
      var state       = re.exec(document.cookie);
      return (state) ? state[1].split(';')[0] : defaultState;
    }
}