fckicon.js
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:3k
源码类别:

OA系统

开发平台:

C#

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2006 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * "Support Open Source software. What about a donation today?"
  12.  * 
  13.  * File Name: fckicon.js
  14.  *  FCKIcon Class: renders an icon from a single image, a strip or even a
  15.  *  spacer.
  16.  * 
  17.  * File Authors:
  18.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  19.  */
  20. var FCKIcon = function( iconPathOrStripInfoArray )
  21. {
  22. var sTypeOf = iconPathOrStripInfoArray ? typeof( iconPathOrStripInfoArray ) : 'undefined' ;
  23. switch ( sTypeOf )
  24. {
  25. case 'number' :
  26. this.Path = FCKConfig.SkinPath + 'fck_strip.gif' ;
  27. this.Size = 16 ;
  28. this.Position = iconPathOrStripInfoArray ;
  29. break ;
  30. case 'undefined' :
  31. this.Path = FCK_SPACER_PATH ;
  32. break ;
  33. case 'string' :
  34. this.Path = iconPathOrStripInfoArray ;
  35. break ;
  36. default :
  37. // It is an array in the format [ StripFilePath, IconSize, IconPosition ]
  38. this.Path = iconPathOrStripInfoArray[0] ;
  39. this.Size = iconPathOrStripInfoArray[1] ;
  40. this.Position = iconPathOrStripInfoArray[2] ;
  41. }
  42. }
  43. FCKIcon.prototype.CreateIconElement = function( document )
  44. {
  45. var eIcon ;
  46. if ( this.Position ) // It is using an icons strip image.
  47. {
  48. var sPos = '-' + ( ( this.Position - 1 ) * this.Size ) + 'px' ;
  49. if ( FCKBrowserInfo.IsIE )
  50. {
  51. // <div class="TB_Button_Image"><img src="strip.gif" style="top:-16px"></div>
  52. eIcon = document.createElement( 'DIV' ) ;
  53. var eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ;
  54. eIconImage.src = this.Path ;
  55. eIconImage.style.top = sPos ;
  56. }
  57. else
  58. {
  59. // <img class="TB_Button_Image" src="spacer.gif" style="background-position: 0px -16px;background-image: url(strip.gif);">
  60. eIcon = document.createElement( 'IMG' ) ;
  61. eIcon.src = FCK_SPACER_PATH ;
  62. eIcon.style.backgroundPosition = '0px ' + sPos ;
  63. eIcon.style.backgroundImage = 'url(' + this.Path + ')' ;
  64. }
  65. }
  66. else // It is using a single icon image.
  67. {
  68. // This is not working well with IE. See notes bellow.
  69. // <img class="TB_Button_Image" src="smiley.gif">
  70. // eIcon = document.createElement( 'IMG' ) ;
  71. // eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ;
  72. // IE makes the button 1px higher if using the <img> directly, so we
  73. // are changing to the <div> system to clip the image correctly.
  74. eIcon = document.createElement( 'DIV' ) ;
  75. var eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ;
  76. eIconImage.src = this.Path ? this.Path : FCK_SPACER_PATH ;
  77. }
  78. eIcon.className = 'TB_Button_Image' ;
  79. return eIcon ;
  80. }