/**//** Cookie **/ //定义全局变量Cookie //eg:Cookie.setCookie('user','jack',{expireDays:1,expireHours:20,path:"/"} var Cookie={//默认以秒为单位 setCookie:function(name,value,option){ var str=name+"="+escape(value); if (option){ var ms=0; if (option.expireDays) { try{ ms+=option.expireDays*24*3600*1000;}catch(e){}}//天数 if (option.expireHours) { try{ ms+=option.expireHours*3600*1000;}catch(e){}}//小时 if (option.expireMinutes) { try{ ms+=option.expireMinutes*60*1000;}catch(e){}}//分钟 if (option.expireSeconds) { try{ ms+=option.expireSeconds*1000;}catch(e){}}//秒钟 if (ms==0) { try{ ms=option*1000;}catch(e){}}//默认以秒为单位传入时间 if (ms!=0){ var date=new Date(); date.setTime(date.getTime()+ms); str+="; expires="+date.toGMTString(); } if (option.path) str+="; path="+path; if (option.domain) str+="; domain="+domain; if (option.secure) str+="; true"; } document.cookie=str; }, getCookie:function(name) { var cookieArray=document.cookie.split("; "); var cookie=new Object(); for (var i=0;i<cookieArray.length;i++) { var arr=cookieArray[i].split("="); if (arr[0]==name) return unescape(arr[1]); } return""; }, deleteCookie:function(name){ this.setCookie(name,"",{expireDays:-1}); } }//COOKIE
//功能介绍:ToolTips //代码文件:tooltip.js //作者:曾青松,Jack zeng(pypzengqs@126.com),2006.11.5 //版本:1.0.0 //依赖关系:需要prototype.js库 /**//* tooltip.js - Small tooltip library on top of Prototype * * Usage: * <script src="/javascripts/prototype.js" type="text/javascript"></script> * <script src="/javascripts/tooltip.js" type="text/javascript"></script> * <script type="text/javascript"> * var my_tooltip = new Tooltip('id_of_trigger_element', 'id_of_tooltip_to_show_element') * </script> * * Now whenever you trigger a mouseOver on the `trigger` element, the tooltip element will * be shown. On o mouseOut the tooltip disappears. * * Example: * * <script src="/javascripts/prototype.js" type="text/javascript"></script> * <script src="/javascripts/scriptaculous.js" type="text/javascript"></script> * <script src="/javascripts/tooltip.js" type="text/javascript"></script> * * <div id='tooltip' style="display:none; margin: 5px; background-color: red;"> * Detail infos on product 1.<br /> * </div> * * <div id='product_1'> * This is product 1 * </div> * 以下代码应该放在所有的element定义之后,一般放置在页面的底部。 * <script type="text/javascript"> * var my_tooltip = new Tooltip('product_1', 'tooltip');//使用默认的CSS,将忽略自定义的CSS * var my_tooltip = new Tooltip('product_1', 'tooltip',false);//使用自定义的CSS * </script> * * You can use my_tooltip.destroy() to remove the event observers and thereby the tooltip. */ //需要使用prototype.js文件 var Tooltip = Class.create(); Tooltip.prototype ={ version:'1.0.0',//版本 //default_css:true, style:{ marging:"0px", padding:"5px 8px 3px 8px", backgroundColor:"#FFFFFF",//"#d6d6fc", color:"#349045", borderWidth:"1px", borderStyle:"solid", borderColor:"gray", filter:"progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135,strength=3)" }, initialize: function(element, tool_tip) { this.initialize(element,tool_tip,true); }, initialize: function(element, tool_tip,default_css) { if (default_css==false) { this.default_css=false; }else{ this.default_css=true; } var options = Object.extend({ delta_x: 5, delta_y: 5, zindex: 1000//足够大的数,使层能够显示在最前面 }, arguments[1] ||{}); this.element = $(element); this.tool_tip = $(tool_tip); this.options = options; this.tool_tip.hide(); // hide the tool-tip by default this.eventMouseOver =this.showTooltip.bindAsEventListener(this);//绑定事件处理程序 this.eventMouseOut =this.hideTooltip.bindAsEventListener(this); this.registerEvents(); }, destroy: function() {//解除事件处理 Event.stopObserving(this.element, "mouseover", this.eventMouseOver);//停止对事件的观察(监听) Event.stopObserving(this.element, "mouseout", this.eventMouseOut); }, registerEvents: function() {//注册事件处理 Event.observe(this.element, "mouseover", this.eventMouseOver); Event.observe(this.element, "mouseout", this.eventMouseOut); }, showTooltip: function(event){ Event.stop(event); // get Mouse position var mouse_x = Event.pointerX(event); var mouse_y = Event.pointerY(event); // decide if wee need to switch sides for the tooltip var dimensions = Element.getDimensions( this.tool_tip ); var element_width = dimensions.width; var element_height = dimensions.height; if ( (element_width + mouse_x) >= ( this.getWindowWidth() -this.options.delta_x) ){ // too big for X mouse_x = mouse_x - element_width; // apply delta to make sure that the mouse is not on the tool-tip mouse_x = mouse_x -this.options.delta_x; }else{ mouse_x = mouse_x +this.options.delta_x; } if ( (element_height + mouse_y) >= ( this.getWindowHeight() -this.options.delta_y) ){ // too big for Y mouse_y = mouse_y - element_height; // apply delta to make sure that the mouse is not on the tool-tip mouse_y = mouse_y -this.options.delta_y; }else{ mouse_y = mouse_y +this.options.delta_y; } // now set the right styles this.setStyles(mouse_x, mouse_y); // finally show the Tooltip //new Effect.Appear(this.tool_tip); new Element.show(this.tool_tip); }, setStyles: function(x, y){ // set the right styles to position the tool tip Element.setStyle(this.tool_tip, { position:'absolute', top:y +"px", left:x +"px", zindex:this.options.zindex }); // apply default theme if wanted if (this.default_css==true){//应用缺省的css Element.setStyle(this.tool_tip, this.style); } }, hideTooltip: function(event){ //new Effect.Fade(this.tool_tip); new Element.hide(this.tool_tip); }, getWindowHeight: function(){ var innerHeight; if (navigator.appVersion.indexOf('MSIE')>0) { innerHeight = document.body.clientHeight; }else{ innerHeight = window.innerHeight; } return innerHeight; }, getWindowWidth: function(){ var innerWidth; if (navigator.appVersion.indexOf('MSIE')>0) { innerWidth = document.body.clientWidth; }else{ innerWidth = window.innerWidth; } return innerWidth; } } /**//* <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="js/prototype.js" language="javascript" type="text/javascript"></script> <script src="js/tooltip.js" type="text/javascript"></script> </head> <body> <div id='tooltip1' style="display:none; margin: 5px; background-color: red;"> <h1>HOTDON</h1> Detail infos on product 1.<br /> Detail infos on product 1.<br /> </div> <div id='tooltip2' style="display:none; margin: 5px; background-color: red;"> <h1>INFO</h1> Detail infos on product 1.<br /> Detail infos on product 1.<br /> </div> <a href="http://www.hotdon.com.cn" id="hotdon">hotdon</a> <div id='info' style="cursor:hand;"> 信息列表 </div> </body> </html> <script type="text/javascript"> new Tooltip('info', 'tooltip1'); new Tooltip('hotdon', 'tooltip2'); </script> */
//功能介绍:UrlParams分析Url参数 //代码文件:UrlParams-1.0.0.js //作者:曾青松,Jack zeng(pypzengqs@126.com),2006.11.5 //版本:1.0.0 //依赖关系:需要prototype-1.4.0.js库 /**//*<script language="javascript" type="text/javascript"> var params=new UrlParams("http://www.pyp.edu.cn?id=1&name=zengqs"); alert(params.get("name")); alert(params.get("id")); alert(params.getArguments().length); alert(params.getArguments()[1]); </script>*/ var UrlParams = Class.create(); UrlParams.prototype={ args:new Object(), args_name:new Array(), initialize:function(query) { //this.args = new Object(); if (query.indexOf("?")!=-1)//如果包含?则取?之后的部分,以保持兼容性 { query=query.substring(query.indexOf("?")+1); } var pairs = query.split("&"); //Break at & this.args_name=new Array(pairs.length); for(var i =0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); //Look for "name=value" if (pos ==-1) continue; //If not found, skip var argname = pairs[i].substring(0,pos); //Extract the name var value = pairs[i].substring(pos+1); //Extract the value this.args[argname] = unescape(value); //Store as a property this.args_name[i]=argname;//保存参数名 // In JavaScript 1.5, use decodeURIComponent( ) // instead of escape( ) } }, get:function(name) { returnthis.args[name]; }, getArguments:function()//获取所有的参数的名称的列表 { returnthis.args_name; } };