⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rico.js

📁 Ajax经典实例大全,关于ajax非常多的实例,适合下载学习
💻 JS
📖 第 1 页 / 共 5 页
字号:
      else          sendMethod = 'get';      (!options) ? options = {} : '';      if (!options._RicoOptionsProcessed){      // Check and keep any user onComplete functions        if (options.onComplete)             options.onRicoComplete = options.onComplete;        // Fix onComplete        if (options.overrideOnComplete)          options.onComplete = options.overrideOnComplete;        else          options.onComplete = this._onRequestComplete.bind(this);        options._RicoOptionsProcessed = true;      }     // Set the default options and extend with any user options     this.options = {                     requestHeaders: requestHeaders,                     parameters:     options.parameters,                     postBody:       xmlDoc,                     method:         sendMethod,                     onComplete:     options.onComplete                    };     // Set any user options:     Object.extend(this.options, options);     return this.options;   },   _createQueryString: function( theArgs, offset ) {      var queryString = ""      for ( var i = offset ; i < theArgs.length ; i++ ) {          if ( i != offset )            queryString += "&";          var anArg = theArgs[i];          if ( anArg.name != undefined && anArg.value != undefined ) {            queryString += anArg.name +  "=" + escape(anArg.value);          }          else {             var ePos  = anArg.indexOf('=');             var argName  = anArg.substring( 0, ePos );             var argValue = anArg.substring( ePos + 1 );             queryString += argName + "=" + escape(argValue);          }      }      return queryString;   },   _onRequestComplete : function(request) {      if(!request)          return;      // User can set an onFailure option - which will be called by prototype      if (request.status != 200)        return;      var response = request.responseXML.getElementsByTagName("ajax-response");      if (response == null || response.length != 1)         return;      this._processAjaxResponse( response[0].childNodes );            // Check if user has set a onComplete function      var onRicoComplete = this.options.onRicoComplete;      if (onRicoComplete != null)          onRicoComplete();   },   _processAjaxResponse: function( xmlResponseElements ) {      for ( var i = 0 ; i < xmlResponseElements.length ; i++ ) {         var responseElement = xmlResponseElements[i];         // only process nodes of type element.....         if ( responseElement.nodeType != 1 )            continue;         var responseType = responseElement.getAttribute("type");         var responseId   = responseElement.getAttribute("id");         if ( responseType == "object" )            this._processAjaxObjectUpdate( this.ajaxObjects[ responseId ], responseElement );         else if ( responseType == "element" )            this._processAjaxElementUpdate( this.ajaxElements[ responseId ], responseElement );         else            alert('unrecognized AjaxResponse type : ' + responseType );      }   },   _processAjaxObjectUpdate: function( ajaxObject, responseElement ) {      ajaxObject.ajaxUpdate( responseElement );   },   _processAjaxElementUpdate: function( ajaxElement, responseElement ) {      ajaxElement.innerHTML = RicoUtil.getContentAsString(responseElement);   }}var ajaxEngine = new Rico.AjaxEngine();//-------------------- ricoColor.jsRico.Color = Class.create();Rico.Color.prototype = {   initialize: function(red, green, blue) {      this.rgb = { r: red, g : green, b : blue };   },   setRed: function(r) {      this.rgb.r = r;   },   setGreen: function(g) {      this.rgb.g = g;   },   setBlue: function(b) {      this.rgb.b = b;   },   setHue: function(h) {      // get an HSB model, and set the new hue...      var hsb = this.asHSB();      hsb.h = h;      // convert back to RGB...      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);   },   setSaturation: function(s) {      // get an HSB model, and set the new hue...      var hsb = this.asHSB();      hsb.s = s;      // convert back to RGB and set values...      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);   },   setBrightness: function(b) {      // get an HSB model, and set the new hue...      var hsb = this.asHSB();      hsb.b = b;      // convert back to RGB and set values...      this.rgb = Rico.Color.HSBtoRGB( hsb.h, hsb.s, hsb.b );   },   darken: function(percent) {      var hsb  = this.asHSB();      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.max(hsb.b - percent,0));   },   brighten: function(percent) {      var hsb  = this.asHSB();      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.min(hsb.b + percent,1));   },   blend: function(other) {      this.rgb.r = Math.floor((this.rgb.r + other.rgb.r)/2);      this.rgb.g = Math.floor((this.rgb.g + other.rgb.g)/2);      this.rgb.b = Math.floor((this.rgb.b + other.rgb.b)/2);   },   isBright: function() {      var hsb = this.asHSB();      return this.asHSB().b > 0.5;   },   isDark: function() {      return ! this.isBright();   },   asRGB: function() {      return "rgb(" + this.rgb.r + "," + this.rgb.g + "," + this.rgb.b + ")";   },   asHex: function() {      return "#" + this.rgb.r.toColorPart() + this.rgb.g.toColorPart() + this.rgb.b.toColorPart();   },   asHSB: function() {      return Rico.Color.RGBtoHSB(this.rgb.r, this.rgb.g, this.rgb.b);   },   toString: function() {      return this.asHex();   }};Rico.Color.createFromHex = function(hexCode) {  if(hexCode.length==4) {    var shortHexCode = hexCode;     var hexCode = '#';    for(var i=1;i<4;i++) hexCode += (shortHexCode.charAt(i) + shortHexCode.charAt(i));  }   if ( hexCode.indexOf('#') == 0 )      hexCode = hexCode.substring(1);   var red   = hexCode.substring(0,2);   var green = hexCode.substring(2,4);   var blue  = hexCode.substring(4,6);   return new Rico.Color( parseInt(red,16), parseInt(green,16), parseInt(blue,16) );}/** * Factory method for creating a color from the background of * an HTML element. */Rico.Color.createColorFromBackground = function(elem) {   var actualColor = RicoUtil.getElementsComputedStyle($(elem), "backgroundColor", "background-color");   if ( actualColor == "transparent" && elem.parentNode )      return Rico.Color.createColorFromBackground(elem.parentNode);   if ( actualColor == null )      return new Rico.Color(255,255,255);   if ( actualColor.indexOf("rgb(") == 0 ) {      var colors = actualColor.substring(4, actualColor.length - 1 );      var colorArray = colors.split(",");      return new Rico.Color( parseInt( colorArray[0] ),                            parseInt( colorArray[1] ),                            parseInt( colorArray[2] )  );   }   else if ( actualColor.indexOf("#") == 0 ) {      return Rico.Color.createFromHex(actualColor);   }   else      return new Rico.Color(255,255,255);}Rico.Color.HSBtoRGB = function(hue, saturation, brightness) {   var red   = 0;	var green = 0;	var blue  = 0;   if (saturation == 0) {      red = parseInt(brightness * 255.0 + 0.5);	   green = red;	   blue = red;	}	else {      var h = (hue - Math.floor(hue)) * 6.0;      var f = h - Math.floor(h);      var p = brightness * (1.0 - saturation);      var q = brightness * (1.0 - saturation * f);      var t = brightness * (1.0 - (saturation * (1.0 - f)));      switch (parseInt(h)) {         case 0:            red   = (brightness * 255.0 + 0.5);            green = (t * 255.0 + 0.5);            blue  = (p * 255.0 + 0.5);            break;         case 1:            red   = (q * 255.0 + 0.5);            green = (brightness * 255.0 + 0.5);            blue  = (p * 255.0 + 0.5);            break;         case 2:            red   = (p * 255.0 + 0.5);            green = (brightness * 255.0 + 0.5);            blue  = (t * 255.0 + 0.5);            break;         case 3:            red   = (p * 255.0 + 0.5);            green = (q * 255.0 + 0.5);            blue  = (brightness * 255.0 + 0.5);            break;         case 4:            red   = (t * 255.0 + 0.5);            green = (p * 255.0 + 0.5);            blue  = (brightness * 255.0 + 0.5);            break;          case 5:            red   = (brightness * 255.0 + 0.5);            green = (p * 255.0 + 0.5);            blue  = (q * 255.0 + 0.5);            break;	    }	}   return { r : parseInt(red), g : parseInt(green) , b : parseInt(blue) };}Rico.Color.RGBtoHSB = function(r, g, b) {   var hue;   var saturation;   var brightness;   var cmax = (r > g) ? r : g;   if (b > cmax)      cmax = b;   var cmin = (r < g) ? r : g;   if (b < cmin)      cmin = b;   brightness = cmax / 255.0;   if (cmax != 0)      saturation = (cmax - cmin)/cmax;   else      saturation = 0;   if (saturation == 0)      hue = 0;   else {      var redc   = (cmax - r)/(cmax - cmin);    	var greenc = (cmax - g)/(cmax - cmin);    	var bluec  = (cmax - b)/(cmax - cmin);    	if (r == cmax)    	   hue = bluec - greenc;    	else if (g == cmax)    	   hue = 2.0 + redc - bluec;      else    	   hue = 4.0 + greenc - redc;    	hue = hue / 6.0;    	if (hue < 0)    	   hue = hue + 1.0;   }   return { h : hue, s : saturation, b : brightness };}//-------------------- ricoCorner.jsRico.Corner = {   round: function(e, options) {      var e = $(e);      this._setOptions(options);      var color = this.options.color;      if ( this.options.color == "fromElement" )         color = this._background(e);      var bgColor = this.options.bgColor;      if ( this.options.bgColor == "fromParent" )         bgColor = this._background(e.offsetParent);      this._roundCornersImpl(e, color, bgColor);   },   _roundCornersImpl: function(e, color, bgColor) {      if(this.options.border)         this._renderBorder(e,bgColor);      if(this._isTopRounded())         this._roundTopCorners(e,color,bgColor);      if(this._isBottomRounded())         this._roundBottomCorners(e,color,bgColor);   },   _renderBorder: function(el,bgColor) {      var borderValue = "1px solid " + this._borderColor(bgColor);      var borderL = "border-left: "  + borderValue;      var borderR = "border-right: " + borderValue;      var style   = "style='" + borderL + ";" + borderR +  "'";      el.innerHTML = "<div " + style + ">" + el.innerHTML + "</div>"   },   _roundTopCorners: function(el, color, bgColor) {      var corner = this._createCorner(bgColor);      for(var i=0 ; i < this.options.numSlices ; i++ )         corner.appendChild(this._createCornerSlice(color,bgColor,i,"top"));      el.style.paddingTop = 0;      el.insertBefore(corner,el.firstChild);   },   _roundBottomCorners: function(el, color, bgColor) {      var corner = this._createCorner(bgColor);      for(var i=(this.options.numSlices-1) ; i >= 0 ; i-- )         corner.appendChild(this._createCornerSlice(color,bgColor,i,"bottom"));      el.style.paddingBottom = 0;      el.appendChild(corner);   },   _createCorner: function(bgColor) {      var corner = document.createElement("div");      corner.style.backgroundColor = (this._isTransparent() ? "transparent" : bgColor);      return corner;   },   _createCornerSlice: function(color,bgColor, n, position) {      var slice = document.createElement("span");      var inStyle = slice.style;      inStyle.backgroundColor = color;      inStyle.display  = "block";      inStyle.height   = "1px";      inStyle.overflow = "hidden";      inStyle.fontSize = "1px";      var borderColor = this._borderColor(color,bgColor);      if ( this.options.border && n == 0 ) {         inStyle.borderTopStyle    = "solid";         inStyle.borderTopWidth    = "1px";         inStyle.borderLeftWidth   = "0px";         inStyle.borderRightWidth  = "0px";         inStyle.borderBottomWidth = "0px";         inStyle.height            = "0px"; // assumes css compliant box model         inStyle.borderColor       = borderColor;      }      else if(borderColor) {         inStyle.borderColor = borderColor;         inStyle.borderStyle = "solid";         inStyle.borderWidth = "0px 1px";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -