code.fastix.org

Dateiansicht:

Datei:Projekte -> JavaScript:htmlClasses -> htmlClasses.js
md5:d6f6566d5e50a0efdef0ec1233a28d24
sha1:93c67f37fd1bdc682b554494f1c86975a104bb6b
  1. /**
  2.  * Add, remove and test (for) classnames from (HTML) DOM-objects Objects known by there identifier.
  3.  * The functions test if is o an object. If not, try get the element by id.
  4.  * @author: Jörg Reinholz, fastix WebDesign & Consult, Kassel - http://www.fastix.org/
  5.  * @version: 1.0.2
  6.  * code.fastix.org ist NOT a cdn and verry slow! Download this and use your OWN server to deliver this!
  7. **/
  8.  
  9.  
  10. function addClassName( o, cName ) {
  11.         o = getOrCheckObjekt( o );
  12.         if ( o && ( ! hasClassName( o, cName ) ) ) {
  13.                 if ( o.className ) {
  14.                         var s = o.className + ' ' +  cName;
  15.                         o.className = s.replace( /^ +/ ).replace( / +$/ );
  16.                 } else {
  17.                         o.className = cName;
  18.                 }
  19.                 return true;
  20.         }
  21.         return false;
  22. }
  23.  
  24. function removeClassName( o, cName ) {
  25.     o = getOrCheckObjekt( o );
  26.     if ( o ) {
  27.         if( cName == o.className ) {
  28.             o.className = '';
  29.             return true;
  30.         } else {
  31.             var c = o.className;
  32.             var a = c.split( / +/ );
  33.             var aNew = new Array();
  34.             var m = 0;
  35.             for ( var i = 0; i < a.length; i++ ) {
  36.                 if ( cName != a[i] ) {
  37.                     aNew[++m] = a[i];
  38.                 }
  39.             }
  40.             o.className = aNew.join(' ');
  41.             return true
  42.         }
  43.     }
  44.     return false;
  45. }
  46.  
  47. function hasClassName( o, cName ) {
  48.     o = getOrCheckObjekt( o );
  49.     if ( o ) {
  50.         var c = o.className;
  51.         var a = c.split( / +/ );
  52.         for ( var i = 0; i < a.length; i++ ) {
  53.             if ( cName == a[i] ) {
  54.                 return true;
  55.             }
  56.         }
  57.     }
  58.     return false;
  59. }
  60.  
  61. function getOrCheckObjekt( o ) {
  62.     if ( ! 'object' == typeof( o ) ) {
  63.         o = document.getElementById( o );
  64.     }
  65.  
  66.     if ( 'object' == typeof( o ) ) {
  67.         return o;
  68.     }
  69.     console.log( 'kein Objekt übergeben, "' + o + '" ist unbekannt"' );
  70.     return false;
  71. }