Foros del Web » Programando para Internet » Javascript »

Crear un layer para mostrar un mensaje

Estas en el tema de Crear un layer para mostrar un mensaje en el foro de Javascript en Foros del Web. Hola señores He estado experimentando un par de cosas. Ahora necesito crear un layer negro que me sirva de fondo a otro que mostrara otro ...
  #1 (permalink)  
Antiguo 15/08/2009, 05:29
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 9 meses
Puntos: 7
Crear un layer para mostrar un mensaje

Hola señores

He estado experimentando un par de cosas. Ahora necesito crear un layer negro que me sirva de fondo a otro que mostrara otro conteniendo un mensaje y que solo debe funcionar con Internet Explorer.

Esto ultimo se como hacerlo pero crear el layer no lo sabia, asi que busque y encontre este ejemplo que esta buenisimo. Parte del codigo del ejemplo lo adapte a mi JS y parece que funciona. Digo "parece" porque aunque debe mostrarme un fondo negro, no muestra nada, sin embargo en claro que el layer esta alli solo con ver los scroll de la ventana.

Me gustaria que le hecharan un ojo a ver que puede estar mal. Mi prueba la veran aqui con su JS, pero recuerden que solo funciona con Explorer.

De todos modos aqui les dejo el JS:

Código:
        function setLayer(par)
        {
            var cFdo = (par.colorfondo) ? 'hay' : 'no hay';
            var cTxt = (par.colortexto) ? 'hay' : 'no hay';
            //
            var sw = screen.width + 500;
            var sh = screen.height + 500;
            //
            var lfID = 'ly_' + Math.floor(Math.random()*100000);
            var lfSt = 'background-color:#000000';
            lfSt += 'display:block;';
            lfSt += 'visibility:visible;';
            lfSt += 'z-index:100001;';
            lfSt += 'text-indent:-4000px;';
            lfSt += 'position:absolute;';
            lfSt += 'width:' + sw + 'px;';
            lfSt += 'height:' + sh + 'px;';
            lfSt += 'top:0px;';
            lfSt += 'left:0px;';
            var lf = '<div id="' + lfID + '" style="' + lfSt + '"></div>';
            //
            document.body.insertAdjacentHTML ("BeforeEnd",lf);
            //
            /*var nlf = document.createElement ('div');
            nlf.setAttribute ('id',lfID);
            nlf.setAttribute ('style',lfSt);
            document.body.appendChild (nlf);*/
            //
            /*if (document.body)
            }
                if (document.body.insertAdjacentHTML)
                    document.body.insertAdjacentHTML ("BeforeEnd",lf);
                } else if (document.createElement && document.body.appendChild)
                {
                    var newNode = document.createElement ('div');
                    newNode.setAttribute ('id',lfID);
                    newNode.setAttribute ('style',lfSt);
                    document.body.appendChild (newNode);
                }
            }*/
            
        }
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 15/08/2009 a las 05:37
  #2 (permalink)  
Antiguo 15/08/2009, 12:13
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Crear un layer para mostrar un mensaje

Hola

Un poco de lectura

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 18/08/2009, 14:46
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 9 meses
Puntos: 7
Respuesta: Crear un layer para mostrar un mensaje

Caray, disculpa @Adler no haberte respondido antes. Gracias por el "document.body.insertadjacenthtml", creo que puedo partir de ahi.
__________________
JuniHH
- Mi blog
- Mi portafolio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.