Top Javascript Code Snippets for 2007
Javascript examples for web developers in 2007. All of my favorite unobtrusive javascript code and javascript examples that I use while building best-practices web sites. If you are even a remotely talented webdesigner who utilizes javascript, you will love this article!
NOTE: I am kinda obsessed with robust and highly accessible and unobtrusive code, as well as web-standards and cross-browser functionality, so this code is all good baby.
The javascript examples
Get the object!
//------------------------------------ // gi function gi(eleName){ if(document.getElementById&&document.getElementById(eleName)) return document.getElementById(eleName) else if(document.all&&document.all(eleName)) return document.all(eleName) else if(document.layers&&document.layers[eleName]) return document.layers[eleName] else return false }
This handy function loads any function on page load, can be used multiple times!
//------------------------------------ // addLoadListener function addLoadListener(fn){ if(typeof window.addEventListener !='undefined') window.addEventListener('load',fn,false); else if(typeof document.addEventListener !='undefined') document.addEventListener('load',fn,false); else if(typeof window.attachEvent !='undefined') window.attachEvent('onload',fn); else{ var oldfn=window.onload if(typeof window.onload !='function') window.onload=fn; else window.onload=function(){oldfn();fn();} } }
Add and Remove an event!
This code is heavily based on the Quirksmode addEvent contest winner, John Resig, and his winning entry.
//------------------------------------ // addEvent function addEvent(obj,type,fn){ if(obj.addEventListener) obj.addEventListener(type,fn,false); 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]); } } //------------------------------------ // removeEvent function removeEvent(obj,type,fn){ if(obj.removeEventListener) obj.removeEventListener(type,fn,false); else if(obj.detachEvent){ obj.detachEvent("on"+type,obj[type+fn]); obj[type+fn]=null; obj["e"+type+fn]=null; } }
Cookies
//------------------------------------ // getExpDate function getExpDate(days,hours,minutes){ var expDate=new Date(); if(typeof days=="number"&&typeof hours=="number"&&typeof hours=="number"){ expDate.setDate(expDate.getDate()+parseInt(days)); expDate.setHours(expDate.getHours()+parseInt(hours)); expDate.setMinutes(expDate.getMinutes()+parseInt(minutes)); return expDate.toGMTString(); } else return ""; } //------------------------------------ // getCookieVal function getCookieVal(offset){ var endstr=document.cookie.indexOf(";",offset); if(endstr==-1) endstr=document.cookie.length; return unescape(document.cookie.substring(offset,endstr)); } //------------------------------------ // getCookie function getCookie(name){ var arg=name+"="; var alen=arg.length; var clen=document.cookie.length; var i=0; while(iHighlights any input field that a user clicks on
//------------------------------------ // formEffects function formEffects(){ if(!gi('ContentW')) return; var areaDiv=gi('ContentW'); var ut,rea; var INP=areaDiv.getElementsByTagName('input'); var TAS=areaDiv.getElementsByTagName('textarea'); for (var i=0;(ut=INP[i]);i++){ addEvent(ut,'focus',oninputfocus); addEvent(ut,'blur',oninputblur); } for (var i=0;(rea=TAS[i]);i++){ addEvent(rea,'focus',oninputfocus); addEvent(rea,'blur',oninputblur); } } //------------------------------------ // oninputfocus function oninputfocus(evt){ evt = (evt) ? evt : ((window.event) ? window.event : ""); if (evt) var elem=giT(evt); if(elem)AddClass(elem,'Ffocus'); } //------------------------------------ // oninputblur function oninputblur(evt){ evt = (evt) ? evt : ((window.event) ? window.event : ""); if (evt) var elem=giT(evt); if(elem)RemoveClass(elem,'Ffocus'); }Various functions to add, remove, or check for CSS classes on an object
//------------------------------------ // HasClass function HasClass(el,cl){ if((el.className===null)||(typeof el=='undefined')) return false; var classes=el.className.split(" "); for(i in classes){ if(classes[i]==cl) return true; } return false; } //------------------------------------ // AddClass function AddClass(el,cl){ if((HasClass(el,cl))||(typeof el=='undefined')) return; el.className+=" "+cl; } //------------------------------------ // RemoveClass function RemoveClass(el,cl){ if(typeof el=='undefined')return; if(el.className===null)return; var classes=el.className.split(" "); var result=[]; for(i in classes){ if(classes[i] !=cl) result[result.length]=classes[i]; } el.className=result.join(" "); }Hide or show an object using CSS
CSS
.S {visibility:visible;display:block;} .H {visibility:hidden;display:none;}Javascript
//------------------------------------ // H function H(t){ if(typeof t=='object') try t.className='H'; catch(e){}; } //------------------------------------ // S function S(t){ if(typeof t=='object') try t.className='S'; catch(e){}; }Get the element calling the function
//------------------------------------ // giT function giT(evt){ var elem; if (evt.target) elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target; else elem = evt.srcElement; return elem; }More Javascript Info:
« Awk Tutorial and IntroductionRenaming Sponsored Links in AdSense »
Comments