rounded_corners.inc.js.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 1,115 行 · 第 1/4 页

SVN-BASE
1,115
字号
                          case "bl":                              newFiller.style.top    = "0px";                              newFiller.style.left   = "0px";                              newFiller.style.borderLeft = this.borderString;                              this.bottomContainer.appendChild(newFiller);                              break;                          case "br":                              newFiller.style.top    = "0px";                              newFiller.style.right  = "0px";                              newFiller.style.borderRight = this.borderString;                              this.bottomContainer.appendChild(newFiller);                              break;                      }                  }                  // Create the bar to fill the gap between each corner horizontally                  var newFillerBar = document.createElement("DIV");                  newFillerBar.style.position = "relative";                  newFillerBar.style.fontSize = "1px";                  newFillerBar.style.overflow = "hidden";                  newFillerBar.style.backgroundColor = this.boxColour;                  newFillerBar.style.backgroundImage = this.backgroundImage;                  switch(z)                  {                      case "t":                          // Top Bar                          if(this.topContainer)                          {                              // Edit by Asger Hallas: Check if settings.xx.radius is not false                              if(this.settings.tl.radius && this.settings.tr.radius)                              {                                  newFillerBar.style.height      = topMaxRadius - this.borderWidth + "px";                                  newFillerBar.style.marginLeft  = this.settings.tl.radius - this.borderWidth + "px";                                  newFillerBar.style.marginRight = this.settings.tr.radius - this.borderWidth + "px";                                  newFillerBar.style.borderTop   = this.borderString;                                  if(this.backgroundImage != "")                                    newFillerBar.style.backgroundPosition  = "-" + (topMaxRadius + this.borderWidth) + "px 0px";                                  this.topContainer.appendChild(newFillerBar);                              }							  if(this.box.id == "loginbox" || this.box.id == "loginbox_skin")								  	newFillerBar.style.backgroundImage = "";                              // Repos the boxes background image                              this.box.style.backgroundPosition      = "0px -" + (topMaxRadius - this.borderWidth) + "px";                          }                          break;                      case "b":                          if(this.bottomContainer)                          {                              // Edit by Asger Hallas: Check if settings.xx.radius is not false                              if(this.settings.bl.radius && this.settings.br.radius)                              {                                  // Bottom Bar                                  newFillerBar.style.height       = botMaxRadius - this.borderWidth + "px";                                  newFillerBar.style.marginLeft   = this.settings.bl.radius - this.borderWidth + "px";                                  newFillerBar.style.marginRight  = this.settings.br.radius - this.borderWidth + "px";                                  newFillerBar.style.borderBottom = this.borderString;								  								  if(this.box.id == "ktBlock" || this.box.id == "pageBody" || this.box.id == "ktInfo" || this.box.id == "ktError" || this.box.id == "loginbox" || this.box.id == "loginbox_skin" || this.box.id == "portlet" || this.box.id == "portlet expanded")								  	newFillerBar.style.backgroundImage = "";								  if(this.box.id == "pageBody")								  	newFillerBar.style.backgroundColor = "#D1D1D1";                                  if(this.backgroundImage != "")                                    newFillerBar.style.backgroundPosition  = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (topMaxRadius + this.borderWidth)) + "px";                                  this.bottomContainer.appendChild(newFillerBar);                              }                          }                          break;                  }              }          }          /*          AutoPad! apply padding if set.          */          if(this.settings.autoPad == true && this.boxPadding > 0)          {              // Create content container              var contentContainer = document.createElement("DIV");              // Set contentContainer's properties              contentContainer.style.position = "relative";              contentContainer.innerHTML      = this.boxContent;              contentContainer.className      = "autoPadDiv";              // Get padding amounts              var topPadding = Math.abs(topMaxRadius - this.boxPadding);              var botPadding = Math.abs(botMaxRadius - this.boxPadding);              // Apply top padding              if(topMaxRadius < this.boxPadding)                contentContainer.style.paddingTop = topPadding + "px";              // Apply Bottom padding              if(botMaxRadius < this.boxPadding)                contentContainer.style.paddingBottom = botMaxRadius + "px";              // Apply left and right padding              contentContainer.style.paddingLeft = this.boxPadding + "px";              contentContainer.style.paddingRight = this.boxPadding + "px";              // Append contentContainer              this.contentDIV = this.box.appendChild(contentContainer);          }      }      /*      This function draws the pixles      */                  this.drawPixel = function(intx, inty, colour, transAmount, height, newCorner, image, cornerRadius, corner)      {          // Create pixel          var pixel = document.createElement("DIV");          pixel.style.height   = height + "px";          pixel.style.width    = "1px";          pixel.style.position = "absolute";          pixel.style.fontSize = "1px";          pixel.style.overflow = "hidden";          // Max Top Radius          var topMaxRadius = Math.max(this.settings["tr"].radius, this.settings["tl"].radius);          // Dont apply background image to border pixels          if(image == -1 && this.backgroundImage != "")          {          	 if (corner != 'bl' && corner != 'br')             	pixel.style.backgroundImage = this.backgroundImage;             else             	if(this.box.id == "pageBody")             		pixel.style.backgroundColor = "#D1D1D1";             	else             		pixel.style.backgroundColor = colour;             			 pixel.style.backgroundPosition  = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + topMaxRadius + inty) -this.borderWidth) + "px";		  }          else          {              pixel.style.backgroundColor = colour;          }          // Set opacity if the transparency is anything other than 100          if (transAmount != 100)            setOpacity(pixel, transAmount);          // Set the pixels position          pixel.style.top = inty + "px";          pixel.style.left = intx + "px";          newCorner.appendChild(pixel);      }  }  // ------------- UTILITY FUNCTIONS  // Inserts a element after another  function insertAfter(parent, node, referenceNode)  {	     parent.insertBefore(node, referenceNode.nextSibling);  }  /*  Blends the two colours by the fraction  returns the resulting colour as a string in the format "#FFFFFF"  */  function BlendColour(Col1, Col2, Col1Fraction)  {      var red1 = parseInt(Col1.substr(1,2),16);      var green1 = parseInt(Col1.substr(3,2),16);      var blue1 = parseInt(Col1.substr(5,2),16);      var red2 = parseInt(Col2.substr(1,2),16);      var green2 = parseInt(Col2.substr(3,2),16);      var blue2 = parseInt(Col2.substr(5,2),16);      if(Col1Fraction > 1 || Col1Fraction < 0) Col1Fraction = 1;      var endRed = Math.round((red1 * Col1Fraction) + (red2 * (1 - Col1Fraction)));      if(endRed > 255) endRed = 255;      if(endRed < 0) endRed = 0;      var endGreen = Math.round((green1 * Col1Fraction) + (green2 * (1 - Col1Fraction)));      if(endGreen > 255) endGreen = 255;      if(endGreen < 0) endGreen = 0;      var endBlue = Math.round((blue1 * Col1Fraction) + (blue2 * (1 - Col1Fraction)));      if(endBlue > 255) endBlue = 255;      if(endBlue < 0) endBlue = 0;      return "#" + IntToHex(endRed)+ IntToHex(endGreen)+ IntToHex(endBlue);  }  /*  Converts a number to hexadecimal format  */  function IntToHex(strNum)  {      base = strNum / 16;      rem = strNum % 16;      base = base - (rem / 16);      baseS = MakeHex(base);      remS = MakeHex(rem);      return baseS + '' + remS;  }  /*  gets the hex bits of a number  */  function MakeHex(x)  {      if((x >= 0) && (x <= 9))      {          return x;      }      else      {          switch(x)          {              case 10: return "A";              case 11: return "B";              case 12: return "C";              case 13: return "D";              case 14: return "E";              case 15: return "F";          }      }  }  /*  For a pixel cut by the line determines the fraction of the pixel on the 'inside' of the  line.  Returns a number between 0 and 1  */  function pixelFraction(x, y, r)  {      var pixelfraction = 0;      /*      determine the co-ordinates of the two points on the perimeter of the pixel that the      circle crosses      */      var xvalues = new Array(1);      var yvalues = new Array(1);      var point = 0;      var whatsides = "";      // x + 0 = Left      var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x,2)));      if ((intersect >= y) && (intersect < (y+1)))      {          whatsides = "Left";          xvalues[point] = 0;          yvalues[point] = intersect - y;          point =  point + 1;      }      // y + 1 = Top      var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y+1,2)));      if ((intersect >= x) && (intersect < (x+1)))      {          whatsides = whatsides + "Top";          xvalues[point] = intersect - x;          yvalues[point] = 1;          point = point + 1;      }      // x + 1 = Right      var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x+1,2)));      if ((intersect >= y) && (intersect < (y+1)))      {          whatsides = whatsides + "Right";          xvalues[point] = 1;

⌨️ 快捷键说明

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