code.fastix.org

Dateiansicht:

Datei:Projekte -> JavaScript:htmlClasses -> htmlClasses.js
md5:2bc359d14d6a448f822b892486f7bb0b
sha1:0209ceef49c95df39c58be1d144387eea9eda09f
  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: 0.9
  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.         var s = o.className;
  14.         s = o.className + ' ' +  cName;
  15.         s = s.replace(/^ +/).replace(/ +$/);
  16.         o.className = s;
  17.         return true;
  18.     }
  19.     return false;
  20. }
  21.  
  22. function removeClassName(o, cName) {
  23.     o = getOrCheckObjekt(o);
  24.     if (o) {
  25.         if(cName==o.className) {
  26.             o.className='';
  27.             return true;
  28.         } else {
  29.             var c = o.className;
  30.             var a = c.split(/ +/);
  31.             var aNew = new Array();
  32.             var m = 0;
  33.             for (var i = 0; i < a.length; i++) {
  34.                 if ( cName !=a[i] ) {
  35.                     aNew[++m]=a[i];
  36.                 }
  37.             }
  38.             o.className = aNew.join(' ');
  39.             return true
  40.         }
  41.     }
  42.     return false;
  43. }
  44.  
  45. function hasClassName(o, cName) {
  46.     o = getOrCheckObjekt(o);
  47.     if (o) {
  48.         var c = o.className;
  49.         var a = c.split(/ +/);
  50.         for (var i = 0; i < a.length; i++) {
  51.             if ( cName == a[i] ) {
  52.                 return true;
  53.             }
  54.         }
  55.     }
  56.     return false;
  57. }
  58.  
  59. function getOrCheckObjekt(o) {
  60.     if ( ! 'object' == typeof(o) ) {
  61.         o = document.getElementById(o);
  62.     }
  63.  
  64.     if ( 'object' == typeof(o) ) {
  65.         return o;
  66.     }
  67.     console.log('kein Objekt übergeben, "' + o + '" ist unbekannt"');
  68.     return false;
  69. }