📄 prototype.js
字号:
var isIE=(navigator.appName.indexOf("Microsoft")!=-1);var isNav=(navigator.appName.indexOf("Netscape")!=-1);var Prototype={Version:'1.2.0'};var Class={create:function(){return function(){this.initialize.apply(this, arguments);}}};var Abstract=new Object();Object.prototype.extend=function(object){for(property in object){this[property]=object[property];}return this;};Function.prototype.bind=function(object){var method=this;return function(){method.apply(object, arguments);}};Function.prototype.bindAsEventListener=function(object){var method=this;return function(event){method.call(object, event || window.event);}};Number.prototype.toColorPart=function(){var digits=this.toString(16);if(this < 16)return '0' + digits;return digits;};var Try={these:function(){var returnValue;for(var i=0;i < arguments.length;i++){var lambda=arguments[i];try {returnValue=lambda();break;} catch(e){}}return returnValue;}};var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback, frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setTimeout(this.onTimerEvent.bind(this), this.frequency * 1000);},onTimerEvent:function(){if(!this.currentlyExecuting){try {this.currentlyExecuting=true;this.callback();} finally {this.currentlyExecuting=false;}}this.registerCallback();}};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;};if(!Array.prototype.push){Array.prototype.push=function(){var startLength=this.length;for(var i=0;i < arguments.length;i++)this[startLength + i]=arguments[i];return this.length;}};if(!Function.prototype.apply){Function.prototype.apply=function(object, parameters){var parameterStrings=new Array();if(!object)object=window;if(!parameters)parameters=new Array();for(var i=0;i < parameters.length;i++)parameterStrings[i]='x[' + i + ']';object.__apply__=this;var result=eval('obj.__apply__(' + parameterStrings[i].join(', ')+ ')');object.__apply__=null;return result;}};var Ajax={getTransport:function(){return Try.these(function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')},function(){return new XMLHttpRequest()})|| false;},emptyFunction:function(){}};Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,parameters:''}.extend(options || {});}};Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];Ajax.Request.prototype=(new Ajax.Base()).extend({initialize:function(url, options){this.transport=Ajax.getTransport();this.setOptions(options);try {if(this.options.method=='get')url +='?' + this.options.parameters + '&_=';this.transport.open(this.options.method, url, true);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(10)}).bind(this));}this.transport.setRequestHeader('X-Requested-With', 'XMLHttpRequest');/*this.transport.setRequestHeader("If-Modified-Since","0");*/this.transport.setRequestHeader('X-Prototype-Version', Prototype.Version);if(this.options.method=='post'){this.transport.setRequestHeader('Content-type','text/xml;charset=GBK');}this.transport.send(this.options.method=='post' ?this.options.parameters:null);} catch(e){}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState !=1)this.respondToReadyState(readyState);},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];(this.options['on' + event] || Ajax.emptyFunction)(this.transport);}});Ajax.Updater=Class.create();Ajax.Updater.prototype=(new Ajax.Base()).extend({initialize:function(container, url, options){this.container=$(container);this.setOptions(options);if(this.options.asynchronous){this.onComplete=this.options.onComplete;this.options.onComplete=this.updateContent.bind(this);}this.request=new Ajax.Request(url, this.options);if(!this.options.asynchronous)this.updateContent();},updateContent:function(){if(this.options.insertion){new this.options.insertion(this.container,this.request.transport.responseText);} else {this.container.innerHTML=this.request.transport.responseText;}if(this.onComplete){setTimeout((function(){this.onComplete(this.request)}).bind(this), 10);}}});function postAjax(url,formName,onComplete){var options=new Object();options.method="post";options.asynchronous=true;options.parameters=Form.serializeXML(formName);options.onComplete=onComplete;return new Ajax.Request(url, options);};function postAjaxXML(url,xmlStr,onComplete){var options=new Object();options.method="post";options.asynchronous=true;options.parameters=xmlStr;options.onComplete=onComplete;return new Ajax.Request(url, options);};function isSuccess(xmlObj){if(xmlObj){var title="";var node=xmlObj.getElementsByTagName("title");if(node.length>0){title=node[0].firstChild.nodeValue;if(title=='success'||title=='SUCCESS'){return true;} else{return false;}}else{return false;}}};function getMessage(xmlObj){if(xmlObj){var title="";var node=xmlObj.getElementsByTagName("message");if(node.length>0){return node[0].firstChild.nodeValue;}else{return "";}}};var Field={clear:function(){for(var i=0;i < arguments.length;i++)$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i < arguments.length;i++)if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();}, activate:function(element){$(element).focus();$(element).select();}};var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i < elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)queryComponents.push(queryComponent);}return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j < tagElements.length;j++)elements.push(tagElements[j]);}return elements;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i < elements.length;i++){var element=elements[i];element.blur();element.disable='true';}},focusFirstElement:function(form){form=$(form);var elements=Form.getElements(form);for(var i=0;i < elements.length;i++){var element=elements[i];if(element.type !='hidden' && !element.disabled){Field.activate(element);break;}}},reset:function(form){$(form).reset();}, serializeXML:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();var xmlStr='<?xml version="1.0" encoding="GBK" ?>\n';xmlStr+='<parameters>\n';for(var i=0;i < elements.length;i++){var element=elements[i];if(element){var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){xmlStr+="<parameter>\n";xmlStr+="<parameter-name>"+encodeURI(parameter[0])+"</parameter-name>\n";xmlStr+="<parameter-value><![CDATA["+encodeURI(parameter[1])+"]]></parameter-value>\n";xmlStr+="</parameter>\n";}}}xmlStr+='</parameters>';return xmlStr;}};Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)return encodeURI(parameter[0])+ '=' +encodeURI(parameter[1]);},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)return parameter[1];}};Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case 'hidden':case 'password':case 'text':return Form.Element.Serializers.textarea(element);case 'checkbox':case 'radio':return Form.Element.Serializers.inputSelector(element);}return false;},inputSelector:function(element){if(element.checked)return [element.name, element.value];},textarea:function(element){return [element.name, element.value];},select:function(element){var index=element.selectedIndex;var value=element.options[index].value || element.options[index].text;return [element.name,(index >=0)? value :''];}};var $F=Form.Element.getValue;Abstract.TimedObserver=function(){};Abstract.TimedObserver.prototype={initialize:function(element, frequency, callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setTimeout(this.onTimerEvent.bind(this), this.frequency * 1000);},onTimerEvent:function(){var value=this.getValue();if(this.lastValue !=value){this.callback(this.element, value);this.lastValue=value;}this.registerCallback();}};Form.Element.Observer=Class.create();Form.Element.Observer.prototype=(new Abstract.TimedObserver()).extend({getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=(new Abstract.TimedObserver()).extend({getValue:function(){return Form.serialize(this.element);}});document.getElementsByClassName=function(className){var children=document.getElementsByTagName('*')|| document.all;var elements=new Array();for(var i=0;i < children.length;i++){var child=children[i];var classNames=child.className.split(' ');for(var j=0;j < classNames.length;j++){if(classNames[j]==className){elements.push(child);break;}}}return elements;};var Element={toggle:function(){for(var i=0;i < arguments.length;i++){var element=$(arguments[i]);element.style.display=(element.style.display=='none' ? '' :'none');}},hide:function(){for(var i=0;i < arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i < arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);}, getHeight:function(element){element=$(element);return element.offsetHeight;}};var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;};Abstract.Insertion.prototype={initialize:function(element, content){this.element=$(element);this.content=content;if(this.adjacency && this.element.insertAdjacentHTML){this.element.insertAdjacentHTML(this.adjacency, this.content);} else {this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.fragment=this.range.createContextualFragment(this.content);this.insertContent();}}};var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=(new Abstract.Insertion('beforeBegin')).extend({initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(){this.element.parentNode.insertBefore(this.fragment, this.element);}});Insertion.Top=Class.create();Insertion.Top.prototype=(new Abstract.Insertion('afterBegin')).extend({initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(){this.element.insertBefore(this.fragment, this.element.firstChild);}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=(new Abstract.Insertion('beforeEnd')).extend({initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(){this.element.appendChild(this.fragment);}});Insertion.After=Class.create();Insertion.After.prototype=(new Abstract.Insertion('afterEnd')).extend({initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(){this.element.parentNode.insertBefore(this.fragment, this.element.nextSibling);}});var Effect=new Object();Effect.Highlight=Class.create();Effect.Highlight.prototype={initialize:function(element){this.element=$(element);this.start=153;this.finish=255;this.current=this.start;this.fade();},fade:function(){if(this.isFinished())return;if(this.timer)clearTimeout(this.timer);this.highlight(this.element, this.current);this.current +=17;this.timer=setTimeout(this.fade.bind(this), 250);},isFinished:function(){return this.current > this.finish;},highlight:function(element, current){element.style.backgroundColor="#ffff" + current.toColorPart();}};Effect.Fade=Class.create();Effect.Fade.prototype={initialize:function(element){this.element=$(element);this.start=100;this.finish=0;this.current=this.start;this.fade();},fade:function(){if(this.isFinished()){this.element.style.display='none';return;}if(this.timer)clearTimeout(this.timer);this.setOpacity(this.element, this.current);this.current -=10;this.timer=setTimeout(this.fade.bind(this), 50);},isFinished:function(){return this.current <=this.finish;},setOpacity:function(element, opacity){opacity=(opacity==100)? 99.999 :opacity;element.style.filter="alpha(opacity:"+opacity+")";element.style.opacity=opacity/100;}};Effect.Scale=Class.create();Effect.Scale.prototype={initialize:function(element, percent){this.element=$(element);this.startScale=1.0;this.startHeight=this.element.offsetHeight;this.startWidth=this.element.offsetWidth;this.currentHeight=this.startHeight;this.currentWidth=this.startWidth;this.finishScale=(percent/100);if(this.element.style.fontSize=="")this.sizeEm=1.0;if(this.element.style.fontSize.indexOf("em")>0)this.sizeEm=parseFloat(this.element.style.fontSize);if(this.element.effect_scale){clearTimeout(this.element.effect_scale.timer);this.startScale=this.element.effect_scale.currentScale;this.startHeight=this.element.effect_scale.startHeight;this.startWidth=this.element.effect_scale.startWidth;if(this.element.effect_scale.sizeEm)this.sizeEm=this.element.effect_scale.sizeEm;}this.element.effect_scale=this;this.currentScale=this.startScale;this.factor=this.finishScale - this.startScale;this.options=arguments[2] || {};this.scale();},scale:function(){if(this.isFinished()){this.setDimensions(this.element, this.startWidth*this.finishScale, this.startHeight*this.finishScale);if(this.sizeEm)this.element.style.fontSize=this.sizeEm*this.finishScale + "em";if(this.options.complete)this.options.complete(this);return;}if(this.timer)clearTimeout(this.timer);if(this.options.step)this.options.step(this);this.setDimensions(this.element, this.currentWidth, this.currentHeight);if(this.sizeEm)this.element.style.fontSize=this.sizeEm*this.currentScale + "em";this.currentScale +=(this.factor/10);this.currentWidth=this.startWidth * this.currentScale;this.currentHeight=this.startHeight * this.currentScale;this.timer=setTimeout(this.scale.bind(this), 50);},isFinished:function(){return(this.factor < 0)? this.currentScale <=this.finishScale :this.currentScale >=this.finishScale;},setDimensions:function(element, width, height){element.style.width=width + 'px';element.style.height=height + 'px';}};Effect.Squish=Class.create();Effect.Squish.prototype={initialize:function(element){this.element=$(element);new Effect.Scale(this.element, 1, {complete:this.hide.bind(this)});},hide:function(){this.element.style.display='none';}};Effect.Puff=Class.create();Effect.Puff.prototype={initialize:function(element){this.element=$(element);this.opacity=100;this.startTop=this.element.top || this.element.offsetTop;this.startLeft=this.element.left || this.element.offsetLeft;new Effect.Scale(this.element, 200, {step:this.fade.bind(this), complete:this.hide.bind(this)});},fade:function(effect){topd=(((effect.currentScale)*effect.startHeight)- effect.startHeight)/2;leftd=(((effect.currentScale)*effect.startWidth)- effect.startWidth)/2;this.element.style.position='absolute';this.element.style.top=this.startTop-topd + "px";this.element.style.left=this.startLeft-leftd + "px";this.opacity -=10;this.setOpacity(this.element, this.opacity);if(navigator.appVersion.indexOf('AppleWebKit')>0)this.element.innerHTML +='';},hide:function(){this.element.style.display='none';},setOpacity:function(element, opacity){opacity=(opacity==100)? 99.999 :opacity;element.style.filter="alpha(opacity:"+opacity+")";element.style.opacity=opacity/100;}};Effect.Appear=Class.create();Effect.Appear.prototype={initialize:function(element){this.element=$(element);this.start=0;this.finish=100;this.current=this.start;this.fade();},fade:function(){if(this.isFinished())return;if(this.timer)clearTimeout(this.timer);this.setOpacity(this.element, this.current);this.current +=10;this.timer=setTimeout(this.fade.bind(this), 50);},isFinished:function(){return this.current > this.finish;},setOpacity:function(element, opacity){opacity=(opacity==100)? 99.999 :opacity;element.style.filter="alpha(opacity:"+opacity+")";element.style.opacity=opacity/100;element.style.display='';}};Effect.ContentZoom=Class.create();Effect.ContentZoom.prototype={initialize:function(element, percent){this.element=$(element);if(this.element.style.fontSize=="")this.sizeEm=1.0;if(this.element.style.fontSize.indexOf("em")>0)this.sizeEm=parseFloat(this.element.style.fontSize);if(this.element.effect_contentzoom){this.sizeEm=this.element.effect_contentzoom.sizeEm;}this.element.effect_contentzoom=this;this.element.style.fontSize=this.sizeEm*(percent/100)+ "em";if(navigator.appVersion.indexOf('AppleWebKit')>0){this.element.scrollTop -=1;};}};function trim(s){return s.replace(/(^[\s]*)|([\s]*$)/g,"");};String.prototype.replaceAll=function(findStr,replaceStr){return this.split(findStr).join(replaceStr);};String.prototype.getLength=function(){var i,sum=0;for(i=0;i<this.length;i++){if((this.charCodeAt(i)>=0)&&(this.charCodeAt(i)<=255))sum++;elsesum+=2;} return sum;};var Check={isNull:function(fieldName){var field=$(fieldName);for(var i=0;i < arguments.length;i++){var field=$(fieldName);if(field){if(trim(field.value)==''){return true;}}}return false;},isNumeric :function(name){var pattern=/^([0-9]|(-[0-9]))[0-9]*((\.[0-9]+)|([0-9]*))$/;for(var i=0;i < arguments.length;i++){var field=$(name);if(field){if(!pattern.test(field.value)){return false;}}}return true;},isInteger :function(){var pattern=/^(\d|(-\d))\d*$/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}}return true;},isNullity:function(){var SPECIAL_STR="~!@%^&*();'\"?><[]{}\\|,:/=+????????";for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){for(j=0;i<field.value.length;i++)if(SPECIAL_STR.indexOf(field.value.charAt(j))!=-1){return true;}}} return false;},isEmail:function(){var pattern=/^([a-zA-Z0-9_-])+(\.([a-zA-Z0-9_-])+)*@([a-zA-Z0-9_-])+(\.([a-zA-Z0-9_-])+)+$/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}}return true;},isChinese:function(){var pattern=/[^\x00-\xff]/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}} return true;},isNLU:function(){var pattern=/^\w*$/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}}return true;},isIdno:function(){var pattern=/(^\d{16}$)|(^\d{18}$)/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}} return true;},isPostCode:function(){var pattern=/^\d{6}$/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}} return true;},isTel:function(){var pattern=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;for(var i=0;i < arguments.length;i++){var field=$(arguments[i]);if(field){if(!pattern.test(field.value)){return false;}}} return true;},isLong:function(fieldName,max){var field=$(fieldName);if(field){if(field.value.length>max){return true;}}return false;},isLenBetween:function(fieldName,min,max){var field=$(fieldName);if(field){if(field.value.length>=min&&field.value.length<=max){return true;}}return false;}};function getCenterX(offsetX){var posX;if(isIE){posX=window.screen.width/2-offsetX+document.body.scrollLeft+window.screenLeft;}else{posX=window.innerWidth/2-offsetX;} return posX;};function getCenterY(offsetY){var posX;if(isIE){posX=window.screen.height/2-offsetY+document.body.scrollTop+window.screenTop}else{posX=window.innerWidth/2-offsetY;} return posX;};function moveTo(divName,posX,posY){var divObj=$(divName);if(isIE){divObj.style.left=posX;divObj.style.top=posY;}else{divObj.style.left=posX+"px";divObj.style.top=posY+"px";}};function getTitle(xmlObj){return xmlObj.getElementsByTagName("title")[0].firstChild.nodeValue;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -