Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/04/2009, 03:04
Avatar de ZiTAL
ZiTAL
 
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 21 años, 1 mes
Puntos: 62
Respuesta: Aporte: zmodal ventana modal

he añadido nueva propiedad publica:
Código javascript:
Ver original
  1. this.hiddeTags = new Array('object', 'embed', 'select');

y 3 metodos privado:
Código javascript:
Ver original
  1. var addClass = function(elem, _class)
  2.     {
  3.         elem.className+= " "+_class;
  4.     };
  5.     var removeClass = function(elem, _class)
  6.     {
  7.         var aClass = elem.className.split(' ');
  8.         var len = aClass.length;
  9.         var tmp = '';
  10.         for(var i=0;i<len;i++)
  11.             if(aClass[i]!==_class)
  12.                 tmp+=" "+aClass[i];
  13.         elem.className = tmp;
  14.     };
  15.     var setClassByTags = function(_parent, aTags, _class, _type)
  16.     {
  17.         var childs = _parent.childNodes;
  18.         var clen = childs.length;
  19.         var tlen = aTags.length;
  20.         for(var i=0;i<clen;i++)
  21.         {
  22.             for(var j=0;j<tlen;j++)
  23.             {
  24.                 if(childs[i].nodeName.toLowerCase()===aTags[j])
  25.                 {
  26.                     if(_type==='add')
  27.                         addClass(childs[i], _class);
  28.                     else if(_type==='remove')
  29.                         removeClass(childs[i], _class);
  30.                 }
  31.                 if(childs[i].hasChildNodes())
  32.                     setClassByTags(childs[i], aTags, _class, _type);
  33.             }
  34.         }      
  35.     };

luego al llamar al metodo publico main, ocultamos los elementos añadiendo la clase zhidden:

Código javascript:
Ver original
  1. // hidde elements
  2.         setClassByTags(document.body, this.hiddeTags, 'zhidden', 'add');

y luego en el metodo privado privateClose lo restauramos:

Código javascript:
Ver original
  1. setClassByTags(document.body, t.hiddeTags, 'zhidden', 'remove');

añadimos zhidden al css:

Código css:
Ver original
  1. .zhidden
  2. {
  3.     display: none;
  4. }

En cuanto pueda lo subo a la demo ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan