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

📄 rico.js

📁 Ajax经典实例大全,关于ajax非常多的实例,适合下载学习
💻 JS
📖 第 1 页 / 共 5 页
字号:
      }      if ( !this.options.compact && (n == (this.options.numSlices-1)) )         inStyle.height = "2px";      this._setMargin(slice, n, position);      this._setBorder(slice, n, position);      return slice;   },   _setOptions: function(options) {      this.options = {         corners : "all",         color   : "fromElement",         bgColor : "fromParent",         blend   : true,         border  : false,         compact : false      }      Object.extend(this.options, options || {});      this.options.numSlices = this.options.compact ? 2 : 4;      if ( this._isTransparent() )         this.options.blend = false;   },   _whichSideTop: function() {      if ( this._hasString(this.options.corners, "all", "top") )         return "";      if ( this.options.corners.indexOf("tl") >= 0 && this.options.corners.indexOf("tr") >= 0 )         return "";      if (this.options.corners.indexOf("tl") >= 0)         return "left";      else if (this.options.corners.indexOf("tr") >= 0)          return "right";      return "";   },   _whichSideBottom: function() {      if ( this._hasString(this.options.corners, "all", "bottom") )         return "";      if ( this.options.corners.indexOf("bl")>=0 && this.options.corners.indexOf("br")>=0 )         return "";      if(this.options.corners.indexOf("bl") >=0)         return "left";      else if(this.options.corners.indexOf("br")>=0)         return "right";      return "";   },   _borderColor : function(color,bgColor) {      if ( color == "transparent" )         return bgColor;      else if ( this.options.border )         return this.options.border;      else if ( this.options.blend )         return this._blend( bgColor, color );      else         return "";   },   _setMargin: function(el, n, corners) {      var marginSize = this._marginSize(n);      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();      if ( whichSide == "left" ) {         el.style.marginLeft = marginSize + "px"; el.style.marginRight = "0px";      }      else if ( whichSide == "right" ) {         el.style.marginRight = marginSize + "px"; el.style.marginLeft  = "0px";      }      else {         el.style.marginLeft = marginSize + "px"; el.style.marginRight = marginSize + "px";      }   },   _setBorder: function(el,n,corners) {      var borderSize = this._borderSize(n);      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();      if ( whichSide == "left" ) {         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = "0px";      }      else if ( whichSide == "right" ) {         el.style.borderRightWidth = borderSize + "px"; el.style.borderLeftWidth  = "0px";      }      else {         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";      }      if (this.options.border != false)        el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";   },   _marginSize: function(n) {      if ( this._isTransparent() )         return 0;      var marginSizes          = [ 5, 3, 2, 1 ];      var blendedMarginSizes   = [ 3, 2, 1, 0 ];      var compactMarginSizes   = [ 2, 1 ];      var smBlendedMarginSizes = [ 1, 0 ];      if ( this.options.compact && this.options.blend )         return smBlendedMarginSizes[n];      else if ( this.options.compact )         return compactMarginSizes[n];      else if ( this.options.blend )         return blendedMarginSizes[n];      else         return marginSizes[n];   },   _borderSize: function(n) {      var transparentBorderSizes = [ 5, 3, 2, 1 ];      var blendedBorderSizes     = [ 2, 1, 1, 1 ];      var compactBorderSizes     = [ 1, 0 ];      var actualBorderSizes      = [ 0, 2, 0, 0 ];      if ( this.options.compact && (this.options.blend || this._isTransparent()) )         return 1;      else if ( this.options.compact )         return compactBorderSizes[n];      else if ( this.options.blend )         return blendedBorderSizes[n];      else if ( this.options.border )         return actualBorderSizes[n];      else if ( this._isTransparent() )         return transparentBorderSizes[n];      return 0;   },   _hasString: function(str) { for(var i=1 ; i<arguments.length ; i++) if (str.indexOf(arguments[i]) >= 0) return true; return false; },   _blend: function(c1, c2) { var cc1 = Rico.Color.createFromHex(c1); cc1.blend(Rico.Color.createFromHex(c2)); return cc1; },   _background: function(el) { try { return Rico.Color.createColorFromBackground(el).asHex(); } catch(err) { return "#ffffff"; } },   _isTransparent: function() { return this.options.color == "transparent"; },   _isTopRounded: function() { return this._hasString(this.options.corners, "all", "top", "tl", "tr"); },   _isBottomRounded: function() { return this._hasString(this.options.corners, "all", "bottom", "bl", "br"); },   _hasSingleTextChild: function(el) { return el.childNodes.length == 1 && el.childNodes[0].nodeType == 3; }}//-------------------- ricoDragAndDrop.jsRico.DragAndDrop = Class.create();Rico.DragAndDrop.prototype = {   initialize: function() {      this.dropZones                = new Array();      this.draggables               = new Array();      this.currentDragObjects       = new Array();      this.dragElement              = null;      this.lastSelectedDraggable    = null;      this.currentDragObjectVisible = false;      this.interestedInMotionEvents = false;      this._mouseDown = this._mouseDownHandler.bindAsEventListener(this);      this._mouseMove = this._mouseMoveHandler.bindAsEventListener(this);      this._mouseUp = this._mouseUpHandler.bindAsEventListener(this);   },   registerDropZone: function(aDropZone) {      this.dropZones[ this.dropZones.length ] = aDropZone;   },   deregisterDropZone: function(aDropZone) {      var newDropZones = new Array();      var j = 0;      for ( var i = 0 ; i < this.dropZones.length ; i++ ) {         if ( this.dropZones[i] != aDropZone )            newDropZones[j++] = this.dropZones[i];      }      this.dropZones = newDropZones;   },   clearDropZones: function() {      this.dropZones = new Array();   },   registerDraggable: function( aDraggable ) {      this.draggables[ this.draggables.length ] = aDraggable;      this._addMouseDownHandler( aDraggable );   },   clearSelection: function() {      for ( var i = 0 ; i < this.currentDragObjects.length ; i++ )         this.currentDragObjects[i].deselect();      this.currentDragObjects = new Array();      this.lastSelectedDraggable = null;   },   hasSelection: function() {      return this.currentDragObjects.length > 0;   },   setStartDragFromElement: function( e, mouseDownElement ) {      this.origPos = RicoUtil.toDocumentPosition(mouseDownElement);      this.startx = e.screenX - this.origPos.x      this.starty = e.screenY - this.origPos.y      //this.startComponentX = e.layerX ? e.layerX : e.offsetX;      //this.startComponentY = e.layerY ? e.layerY : e.offsetY;      //this.adjustedForDraggableSize = false;      this.interestedInMotionEvents = this.hasSelection();      this._terminateEvent(e);   },   updateSelection: function( draggable, extendSelection ) {      if ( ! extendSelection )         this.clearSelection();      if ( draggable.isSelected() ) {         this.currentDragObjects.removeItem(draggable);         draggable.deselect();         if ( draggable == this.lastSelectedDraggable )            this.lastSelectedDraggable = null;      }      else {         this.currentDragObjects[ this.currentDragObjects.length ] = draggable;         draggable.select();         this.lastSelectedDraggable = draggable;      }   },   _mouseDownHandler: function(e) {      if ( arguments.length == 0 )         e = event;      // if not button 1 ignore it...      var nsEvent = e.which != undefined;      if ( (nsEvent && e.which != 1) || (!nsEvent && e.button != 1))         return;      var eventTarget      = e.target ? e.target : e.srcElement;      var draggableObject  = eventTarget.draggable;      var candidate = eventTarget;      while (draggableObject == null && candidate.parentNode) {         candidate = candidate.parentNode;         draggableObject = candidate.draggable;      }         if ( draggableObject == null )         return;      this.updateSelection( draggableObject, e.ctrlKey );      // clear the drop zones postion cache...      if ( this.hasSelection() )         for ( var i = 0 ; i < this.dropZones.length ; i++ )            this.dropZones[i].clearPositionCache();      this.setStartDragFromElement( e, draggableObject.getMouseDownHTMLElement() );   },   _mouseMoveHandler: function(e) {      var nsEvent = e.which != undefined;      if ( !this.interestedInMotionEvents ) {         //this._terminateEvent(e);         return;      }      if ( ! this.hasSelection() )         return;      if ( ! this.currentDragObjectVisible )         this._startDrag(e);      if ( !this.activatedDropZones )         this._activateRegisteredDropZones();      //if ( !this.adjustedForDraggableSize )      //   this._adjustForDraggableSize(e);      this._updateDraggableLocation(e);      this._updateDropZonesHover(e);      this._terminateEvent(e);   },   _makeDraggableObjectVisible: function(e)   {      if ( !this.hasSelection() )         return;      var dragElement;      if ( this.currentDragObjects.length > 1 )         dragElement = this.currentDragObjects[0].getMultiObjectDragGUI(this.currentDragObjects);      else         dragElement = this.currentDragObjects[0].getSingleObjectDragGUI();      // go ahead and absolute position it...      if ( RicoUtil.getElementsComputedStyle(dragElement, "position")  != "absolute" )         dragElement.style.position = "absolute";      // need to parent him into the document...      if ( dragElement.parentNode == null || dragElement.parentNode.nodeType == 11 )         document.body.appendChild(dragElement);      this.dragElement = dragElement;      this._updateDraggableLocation(e);      this.currentDragObjectVisible = true;   },   /**   _adjustForDraggableSize: function(e) {      var dragElementWidth  = this.dragElement.offsetWidth;      var dragElementHeight = this.dragElement.offsetHeight;      if ( this.startComponentX > dragElementWidth )         this.startx -= this.startComponentX - dragElementWidth + 2;      if ( e.offsetY ) {         if ( this.startComponentY > dragElementHeight )            this.starty -= this.startComponentY - dragElementHeight + 2;      }      this.adjustedForDraggableSize = true;   },   **/   _leftOffset: function(e) {	   return e.offsetX ? document.body.scrollLeft : 0	},   _topOffset: function(e) {	   return e.offsetY ? document.body.scrollTop:0	},		   _updateDraggableLocation: function(e) {      var dragObjectStyle = this.dragElement.style;      dragObjectStyle.left = (e.screenX + this._leftOffset(e) - this.startx) + "px"      dragObjectStyle.top  = (e.screenY + this._topOffset(e) - this.starty) + "px";   },   _updateDropZonesHover: function(e) {      var n = this.dropZones.length;      for ( var i = 0 ; i < n ; i++ ) {         if ( ! this._mousePointInDropZone( e, this.dropZones[i] ) )            this.dropZones[i].hideHover();      }      for ( var i = 0 ; i < n ; i++ ) {         if ( this._mousePointInDropZone( e, this.dropZones[i] ) ) {            if ( this.dropZones[i].canAccept(this.currentDragObjects) )               this.dropZones[i].showHover();         }      }   },   _startDrag: function(e) {      for ( var i = 0 ; i < this.currentDragObjects.length ; i++ )         this.currentDragObjects[i].startDrag();      this._makeDraggableObjectVisible(e);   },   _mouseUpHandler: function(e) {      if ( ! this.hasSelection() )         return;      var nsEvent = e.which != undefined;      if ( (nsEvent && e.which != 1) || (!nsEvent && e.button != 1))         return;      this.interestedInMotionEvents = false;      if ( this.dragElement == null ) {         this._terminateEvent(e);         return;      }      if ( this._placeDraggableInDropZone(e) )         this._completeDropOperation(e);      else {         this._terminateEvent(e);         new Rico.Effect.Position( this.dragElement,                              this.origPos.x,                              this.origPos.y,                              200,                              20,                              { complete : this._doCancelDragProcessing.bind(this) } );      }     Event.stopObserving(document.body, "mousemove", this._mouseMove);     Event.stopObserving(document.body, "mouseup",  this._mouseUp);   },   _retTrue: function () {      return true;   },   _completeDropOperation: function(e) {      if ( this.dragElement != this.currentDragObjects[0].getMouseDownHTMLElement() ) {         if ( this.dragElement.parentNode != null )            this.dragElement.parentNode.removeChild(this.dragElement);      }      this._deactivateRegisteredDropZones();      this._endDrag();      this.clearSelection();      this.dragElement = null;      this.currentDragObjectVisible = false;      this._terminateEvent(e);   },   _doCancelDragProcessing: function() {      this._cancelDrag();        if ( this.dragElement != this.currentDragObjects[0].getMouseDownHTMLElement() && this.dragElement)           if ( this.dragElement.parentNode != null )              this.dragElement.parentNode.removeChild(this.dragElement);

⌨️ 快捷键说明

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