Autor Tema: [AYUDA] Mensaje de advertencia  (Leído 557 veces)

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
[AYUDA] Mensaje de advertencia
« en: 19 de Julio de 2011, 02:29:03 am »
Hola!

Necesito saber la manera de mostrar una advertencia que sea como si fuera un alert, solo que cubriendo la página entera. Pondré un botón, "cerrar". Lo pienso poner en mi web para dar la bienvenida.

Nota: no quiero códigos listos, lo que quiero es aprender a crear el mensaje sin códigos hechos.

Gracias y saludos.

Comunidad PHPeros

[AYUDA] Mensaje de advertencia
« en: 19 de Julio de 2011, 02:29:03 am »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[AYUDA] Mensaje de advertencia
« Respuesta #1 en: 19 de Julio de 2011, 03:22:14 am »
Hacer esto no es muy dificil.
Lo primero que debes hacer es crear el fondo que ocupe toda la pantalla, un div con position:absolute; al cual mediante CSS le aplicaras como ancho el ancho de la página y al alto el alto de la página.
Despues debes crear un div con position: fixed; que puedes situar al centro (si no sabes como, te puedo dar un truco).

Ambos los muestras con JS...
Si usas jQuery te podré ayudar mucho mejor.

Empieza, y según vayas teniendo dificultades pregunta. Aunque he sido muy escueto y dudo que puedas hacer gran cosa, aún.

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[AYUDA] Mensaje de advertencia
« Respuesta #2 en: 19 de Julio de 2011, 11:36:15 am »
Hacer esto no es muy dificil.
Lo primero que debes hacer es crear el fondo que ocupe toda la pantalla, un div con position:absolute; al cual mediante CSS le aplicaras como ancho el ancho de la página y al alto el alto de la página.
Despues debes crear un div con position: fixed; que puedes situar al centro (si no sabes como, te puedo dar un truco).

Ambos los muestras con JS...
Si usas jQuery te podré ayudar mucho mejor.

Empieza, y según vayas teniendo dificultades pregunta. Aunque he sido muy escueto y dudo que puedas hacer gran cosa, aún.

Mmmm. según tus explicaciones, el alto y el ancho debería ponerlos a "100%" para que ocupe toda la página.. ¿cierto?

Lo de situar al centro, la verdad es que podría ser útil, pero yo pensaba incluir un archivo html y debajo poner un botón de cerrar (no tiene por qué ser un botón, también puede ser un texto con un onclick o href - no creo que sea href, pero bueno, nunca se sabe - , no importa), pero si me dices ese truco, te lo agradeceré.

Y lo de jQuery, sinceramente usaré lo que haga falta. No me importa lo que haya que usar, Js, jQuery, o cualquier otro lenguaje. No es ninguna molestia.

Saludos

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[AYUDA] Mensaje de advertencia
« Respuesta #3 en: 19 de Julio de 2011, 16:15:03 pm »
Mmmm. según tus explicaciones, el alto y el ancho debería ponerlos a "100%" para que ocupe toda la página.. ¿cierto?

Lo de situar al centro, la verdad es que podría ser útil, pero yo pensaba incluir un archivo html y debajo poner un botón de cerrar (no tiene por qué ser un botón, también puede ser un texto con un onclick o href - no creo que sea href, pero bueno, nunca se sabe - , no importa), pero si me dices ese truco, te lo agradeceré.

Y lo de jQuery, sinceramente usaré lo que haga falta. No me importa lo que haya que usar, Js, jQuery, o cualquier otro lenguaje. No es ninguna molestia.

Saludos
La verdad jQuery facilita muchísimo el trabajo, por lo que te recomiendo que empieces a usarlo y te inicies en él.

Lo de ponerlo a 100%, NO. Me equivoqué, no debes hacerlo con CSS si no con JavaScript, porque hay un problema con los elementos con position:fixed, no admiten dimensiones con porcentajes, no se por qué, pero así pasa. Así que cuando crees la función que abra tu mensaje, deberás aplicarle los estilos con JavaScript. Con jQuery bastaría con usar el metodo .css() y .width() y .height()
Algo así:
$('#elementofondo').css({'width':$(document).width()+'px','height':$(document).height()+'px'});
De todas maneras, aquí tienes los enlaces para que te enteres un poco:
http://api.jquery.com/css/
http://api.jquery.com/width/
http://api.jquery.com/height/

El metodo de centrado que te recomendaría es bastante sencillo. Cogemos un div y le aplicamos position: absolute, left: 50%, width: X, margin-left: -(X/2).

Donde X es el ancho que quieras.
¿Cómo funciona?
Con position: absolute indicamos que el elemento empieza a "contar su posicion" desde el inicio del documento.
Con left: 50% hacemos que el borde izquierdo se coloque justamente en la mitad de la web.
Con width: X hacemos que el elemento mida X, es muy obvio
Con margin-left: -(X/2) [es decir, si el elemento mide 500, será margin-left: -250px;] movemos el elemento la mitad de su ancho hacia la izquierda, logrando que se centre totalmente.

También puede usarse con el alto, claro. Así podrías crear la alerta centrada así (en una función):
- Aplicas el ancho y alto al fondo
- SIN MOSTRAR la alerta, le pones el texto que quieras
- Con jQuery (por ejemplo) calculas su ancho y alto, y con eso lo centras, aplicandole el width, left, margin-left, height, top y margin-top.
- Muestras el fondo y la alerta

A ver que te sale xD

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[AYUDA] Mensaje de advertencia
« Respuesta #4 en: 19 de Julio de 2011, 18:09:07 pm »
La verdad jQuery facilita muchísimo el trabajo, por lo que te recomiendo que empieces a usarlo y te inicies en él.

Lo de ponerlo a 100%, NO. Me equivoqué, no debes hacerlo con CSS si no con JavaScript, porque hay un problema con los elementos con position:fixed, no admiten dimensiones con porcentajes, no se por qué, pero así pasa. Así que cuando crees la función que abra tu mensaje, deberás aplicarle los estilos con JavaScript. Con jQuery bastaría con usar el metodo .css() y .width() y .height()
Algo así:
$('#elementofondo').css({'width':$(document).width()+'px','height':$(document).height()+'px'});
De todas maneras, aquí tienes los enlaces para que te enteres un poco:
http://api.jquery.com/css/
http://api.jquery.com/width/
http://api.jquery.com/height/

El metodo de centrado que te recomendaría es bastante sencillo. Cogemos un div y le aplicamos position: absolute, left: 50%, width: X, margin-left: -(X/2).

Donde X es el ancho que quieras.
¿Cómo funciona?
Con position: absolute indicamos que el elemento empieza a "contar su posicion" desde el inicio del documento.
Con left: 50% hacemos que el borde izquierdo se coloque justamente en la mitad de la web.
Con width: X hacemos que el elemento mida X, es muy obvio
Con margin-left: -(X/2) [es decir, si el elemento mide 500, será margin-left: -250px;] movemos el elemento la mitad de su ancho hacia la izquierda, logrando que se centre totalmente.

También puede usarse con el alto, claro. Así podrías crear la alerta centrada así (en una función):
- Aplicas el ancho y alto al fondo
- SIN MOSTRAR la alerta, le pones el texto que quieras
- Con jQuery (por ejemplo) calculas su ancho y alto, y con eso lo centras, aplicandole el width, left, margin-left, height, top y margin-top.
- Muestras el fondo y la alerta

A ver que te sale xD

Jojo, un par de respuestas más así de largas, y saturas la base de datos  :D :D
Gracias, ahora me pongo a ver que me sale. Y si me sale, saldrá cap. Y si no, saldrá puñetazo al servidor :D (y cap de su estado después del puñetazo :D)

Saludos! :D
** En lenguaje de foro, Salu2 :D:D