Cargando...
Menu Ver sumario
Blogger para torpes y para no tanto.



Contadores


Splash screen... o algo parecido

13/10/2009 30

No tenía ni idea de que se llamaba así, pero a resultas de una pregunta, he podido descubrir que un Splash Screen es una pantalla, generalmente una imagen, que aparece mientras se carga un programa, un sistema operativo, una aplicación de instalación... Vamos, la pantallita que muestra nuestro sistema operativo cuando arrancamos el ordenador desde que se cargan los datos básicos de hardware, hasta que comienza a cargar el escritorio, por ejemplo. Algunos les llaman quitamiedos, porque sirven para evitar la sensación de que el ordenador se ha quedado colgado en el caso de que la cosa se demore. Suelen llevar una señal de avance de la carga.

Para los que quieran sencillamente eso, algo que salga mientras vuestra página carga, os remito a la entrada sobre cómo crear un aviso para la carga de una página y que precisamente mostrará en el blog una capa superpuesta, que desaparece cuando termina completamente la carga de todo su contenido. La capa puede tener cómo se explica allí un gif animado, una imagen fija, pero también otro tipo de elementos y sólo con ampliar su tamaño, obtendremos una cosa similar a un splash screen.

Sin embargo hay otra posibilidad, que es mostrar algo que desaparezca tras cumplir su misión (pasado un tiempo realmente). Si es eso lo que quereis, entonces continuad aquí que vamos a tratar de explicar cómo se hace.

En primer lugar generamos un script, que precisamente lo que hace es ocultar determinada capa identificada mediante su nombre, transcurrido determinado tiempo. Para ello, antes del </head> pegamos lo siguiente:

<script type='text/javascript'>window.setTimeout('document.getElementById (&quot;ID_CAPA&quot;).style.visibility=&quot;hidden&quot;',10000)</script>

ID_CAPA será el nombre que le pondremos después al DIV que contendrá aquello que queremos que se vea con este sistema. La última cifra (10000) es el tiempo en milisegundos que tardará en aplicarse la instrucción contenida dentro del setTimeout y que en este caso consiste en ponerle un valor HIDDEN a la capa para que deje de verse. Dicho al revés, pasados 10 segundos, la capa que ahora después crearemos, desaparecerá.

Ahora el bloque que queremos mostrar. En primer lugar, tiene que tener el mismo nombre (ID_CAPA) que pusiéramos en el script. El lugar dónde debe ir ubicado es justo después del <body>

<div id='ID_CAPA' style='z-index:99;position:absolute;overflow:visible;top:50%;left:50%;width:750;height:592px;margin-top:-296px;margin-left:-375px;border:5px solid #990000;'><a href='javascript:void(0);' onclick='this.style.visibility=&quot;hidden&quot;'><img style='border:0px;' src='URL_IMAGEN' /></a></div>

Configuración:
Hay que cambiar, para adaptarlo a vuestras necesidades, el ancho y el alto del bloque (WIDTH-HEIGHT). Los márgenes (MARGIN-LEFT MARGIN-TOP) tienen que tener justo la mitad de pixels que las correspondientes medidas de ancho y alto, para que el resultado se vea totalmente centrado. El borde (BORDER) se puede cambiar o incluso anular. También se puede incorporar un color o un imagen de fondo (BACKGROUND), incluyendo un PADDING para que no se solape por completo. Como estamos ante un DIV que va a funcionar de forma independiente al resto de la página, podeis poner el estilo que querais.

El enlace que está alrededor de la imagen del ejemplo (javascript:void(0);), sirve para que el usuario pueda hacer desaparecer la imagen antes de transcurrido el tiempo programado, con sólo pinchar en ella. Para que se pueda cerrar sólo desde un punto determinado del bloque, habría que quitar el enlace de la imagen y generar un nuevo DIV dentro del principal con una instrucción javascript algo distinta:

<div id='ID_CAPA' style='z-index:99;position:absolute;overflow:visible;top:50%;left:50%;width:750;height:592px;margin-top:-296px;margin-left:-375px;border:5px solid #990000;'><div style='position:absolute;top:-25px;right:0px;background:#990000;color:#ffffff;padding:1px;'><a href='javascript:void(0);' onclick='document.getElementById (&quot;ID_CAPA&quot;).style.visibility=&quot;hidden&quot;'>[X]</a></div><img style='border:0px;' src='URL_IMAGEN' /></div>

Con respecto a su contenido, es necesario especificar la direción de la imagen que se quiere mostrar o, si se prefiere, cambiar la imagen por un texto u otra cosa. Por ejemplo, se podría mostrar una animación flash o un vídeo de YouTube -qué viene a ser lo mismo para este caso- cambiando todo el tag IMG por un objeto embebido. Ejemplo con contenido para copiar y pegar y una demo de cómo quedaría:

<div id='ID_CAPA' style='z-index:99;position:absolute;overflow:visible;top:50%;left:50%;width:750;height:592px;margin-top:-296px;margin-left:-375px;border:5px solid #990000;'><a href='javascript:void(0);' onclick='this.style.visibility=&quot;hidden&quot;'><embed height='592' pluginspage='http://www.macromedia.com/go/getflashplayer' quality='high' src='http://www.youtube.com/v/_kocZ-j-o3I&amp;hl=es&amp;autoplay=1' type='application/x-shockwave-flash' width='750'/></a></div>

En este último caso, en función de la duración del vídeo, ajustaremos el valor del tiempo del primer script que instalamos (10000), hasta una cifra que nos permita ver la secuencia completa. Para estos menesteres, parece adecuado incluir al enlace del fichero flash, un &autoplay=1, cómo se ha hecho en este último ejemplo, que hará que el vídeo comience a reproducir solo. Si esperamos a que el usuario le de al play y por otro lado, nosotros programamos el tiempo justo, lo más seguro es que el elemento desaparezca antes de terminar. Sin embargo, si ponemos tiempo de más y el usuario le da desde el principio, el aburrimiento/desesperación puede ser máximo. Por cierto, mucho ojito con poner cosas del estilo de esta película.

Una pega de este sistema usando elementos multimedia, es que el script sólo oculta el contenido, por lo cual, si este tiene sonido y es cerrado por el usuario antes de tiempo, el audio seguirá oyéndose hasta que no termine del todo.

Este código se puede colocar en una entrada, para que el pantallazo se vea sólo cuando se accede a ella. Para ello habría que cambiar las comillas simples por dobles y los &quot; por comillas sencillas, amen de redactarlo todo seguido, sin saltos de línea. (ejemplo)

Cuidado con los posicionamientos. Si no hay ninguna instrucción POSITION en vuestra plantilla, el bloque se colocará en referencia al BODY tanto si lo ponemos en la plantilla como si lo ponemos en un post y servirá todo el código explicado hasta el momento. Por contra, si nuestra plantilla incluye algún atributo POSITION y para el caso de colocarlo en un post, habrá que ajustar los parámetros porque el bloque se colocará con respecto al contenedor de las entradas y no con respecto al BODY.

Este truco se puede usar como pantalla de presentación, para dar un aviso, para mostrar un contenido destacado, una lista de enlaces,... lo que vuestra imaginación os diga. Se admiten sugerencias de uso.

30 comentarios:

No URL Emiliano

Pero que rapidez jajaja, en estos dias lo pruebo y te digo como me resulto, cuando pueda terminar el blog del trabajo (si es que no me siguen cambiando las ordenes) te paso la direccion. Muchas gracias por tantos aportes.

Raúl Montero

Algo así estaba buscando para una web, a ver que consigo. THX!!

Oloman

Emiliano, me pillaste en un momento adecuado. Sólo eso.

Raúl, a ver con qué nos sorprendes ;)

Anónimo

Hola Oloman,

Solucionado mi problema para abrir tu plantilla pero el problema se me repite cuando por ejemplo intento abrir plantillas del Btemplates.
Le doy a abrir carpeta, el documento abrir con wordpat o bloc de notas y me sale un código muy raro compuesto por cuadrados y símbolos.
Cómo lo haces tu? ( y toda la otra gente )

Grácias

Oloman

Tiene que ser un fichero .xml para que sea visible con bloc de notas o similar. En ocasiones, lo que nos facilitan es un fichero comprimido que primero habrá que descomprimir. Dime el enlace concreto con el que tienes problemas para verlo.

Lils

Hola, una pregunta que no tiene que ver con este post y tampoco he buscado tal como recomendás.:)
El tema es el siguiente: tengo una plantilla de tres columnas porque me gustó mucho el diseño, aunque preferiría que fuera de dos. Es posible eliminar una de las sidebar, por ejemplo la de la derecha? Y si es así,me podrías explicar como hacerlo? Graaaaaacias. Tengo un botón tuyo en mi blog.

Oloman

Hola Lils. Efectivamente no encontrarás esa cuestión en concreto pero sí la contraria, cómo añadir columnas. Siguiendo el proceso inverso, podrás dejar tu plantilla con una columna (o dos) menos.

En tu caso, estos tres contenedores son los que forman las tres columnas.

#main-wrapper
#a-sidebar-wrapper
#b-sidebar-wrapper

En un principio tendrías que quitar de la parte HTML la sección correspondiente a la sidebar que quieres quitar.

Luego, ensanchar o bien el MAIN o la otra SIDEBAR o ambos, para ocupar el nuevo espacio disponible.

Lils

Hola OLO, gracias. Hice la prueba quitando la parte del sidebar b y ensanchando la sección de post (main) y todo bien, solo tengo un problemita, siguen apareciendo en el lugar de la sidebar retirada, el color de fondo (gris) y una línea divisoria roja vertical. Supongo que tendré que quitar o cambiar algo más. :)
La parte de main wrapper me queda así:

#main-wrapper {
width: 680px;
float: left;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 20px;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
Graciaaaaaaaas!!!
(si es muy complicado lo dejo como está)

moramorao

Gracias por el código, voy a probarlo

Mercier mc

Hola Oloman,

Mira, estoy trabajando en una nueva plantilla y me interesaria canviar el 'hr' ( esas líneas de separación ) de la plantilla pero no se cómo hacerlo

Estoy utilizando la plantilla 'Scribe' que viene por defecto en blogger
Grácias, ah y por cierto, si sigues así ese hombrecito ya no podrá seguir la pista a las visitas ;)

Saludos

Oloman

Lils. En ninguno de los blogs de tu perfil veo cambio alguno. De todas formas, lo que tienes que hacer es descubrir qué parte del código "imprime" esos fondos para después eliminarlos. Seguramente estén hechos con BACKGROUND, pero ya te digo que voy a ciegas.

Mercier, tienes que crear una clase y configurar ahí el aspecto. Por ejemplo:

hr.barra {
height: 10px;
border: 0PX;
color: #cc0000;
background: url(DIREC_IMAGEN);
width: 80%;
}

Luego, donde quieras poner el separador, colocas
<hr class="barra"/>

Oloman

Ah, Mercier... ¡y ahora he pillado lo del hombrecito!

Lils

Uy! Perdón y gracias por la paciencia!
El blog al que me refiero es este

http://mitecladoyyo-lils.blogspot.com/

y no guardé los cambios porque quedaba mal, con la línea roja vertical y el fondo gris (a la derecha) pero el espacio de post extendido. :-)
Te agradezco mucho la amabilidad.
Abrazo!

Oloman

Lils, busca en tu plantilla esta imagen y obsérvala en tu navegador poniendo directamente la dirección:
http://i236.photobucket.com/albums/ff139/doxsimg/secret/secret_out_.png
Es la que forma toda el fondo, tanto el de los posts como el de las barras laterales. Ahora bájatela y modifícala según te convenga. Luego la subes y sustituyes la dirección antigua por la nueva.

Lils

YES! Sos un genio explicando! jaja
Ya casi lo logro, me falta una pequeña modificación a la imagen y listo!
Gracias miles y contá con mis votos en los premios Bitácoras!

Chary Serrano

Esto lo tengo que leer despscito, porque me interesa mucho.
enhorabuena por ser finalista de los premios 20 blogs. ¡¡suerte!! allí estaré

Davicine

Enhorabuena por ser finalista en los 20 minutos. Te sigo desde que estoy en la blogosfera, haciendo caso de muchos de tus consejos, aunque no intervengo demasiado, pero esta era una ocasión especial.

un saludo.

medecrece

Hoy me he encontrado esta noticia en el 20minutos.es: http://www.20minutos.es/noticia/541518/0/finalistas/premios20blogs/2009/

Enhorabuena. Espero que ganes, eres el mejor.

Oloman

Bueno Lils, parece que en este momento ya está perfecto. Cómo tú querías.

Chary y Davicine. Muchas gracias. Espero conoceros si coincimos en Madrid.

Oloman

Te colaste en medio de mi contestación medecrece. Gracias a tí también y a tu deseo, pero creo que ya he tocado techo, porque el resto de los blogs seleccionados me parecen muy buenos.

Chary Serrano

Espo nunca see sabe....
Y si no pasa nada, como te he dicho allí estaré, ya tengo los billetes del viaje comprados.
Tendremos que irnos buscando unos a otros.

Anónimo

Pues mira Oloman,

el problema que tengo con la descarga de los xml es que una vez abro el documento con el wordpat o el bloc de notas me sale un código como muy raro.
Pero por casualidad descubrí que simplemente copiando ese código a google docs me salía todo correcto ( un código html como los de siempre )
Luego lo copié en la casilla de html todo el codigo y me dice : No se ha podido analizar su plantilla, porque no está bien formada. Asegúrese de que todos los elementos XML se han cerrado correctamente.
Mensaje de error de XML: Content is not allowed in prolog.

Puedes ayudarme?? grácias

Oloman

Quizás pueda ayudarte si me pasas el link de dónde te descargaste el xml. Así lo compruebo y te digo si es problema de tus programas o del propio fichero. La opción de copiar y pegar no es la más adecuada. Lo mejor es cargarla desde el panel de control de Blogger: Edición HTML

Laura.-

Hola!

Bueno, sé que esto poco tiene que ver con el tema, pero no encontré otro más oportuno en donde preguntarte. ¿Cómo se pueden añadir ventanas pop-up al blog? Es que busqué en internet, y encontré una página que generaba códigos, pero me preguntaba si los puedes crear tú mismo.

Un saludo!

Oloman

Laura, lo de aquí podría servirte como pop-up. De todas formas, por ejemplo en Web Taller, tienes una utilidad para conseguir el código de una ventana emergente. Una vez te hagas con el código lo puedes modificar a tu antojo, al igual seguramente que con la que tú has encontrado. Eso sí, lo que te muestra es el contenido de una página, que tendrías que diseñar previamente... o un vídeo, o un flash...

Anónimo

Hola Oloman. Estaba busacano algo así para que aparezca en mi blog como una ventan emergente. Pero a mi me gustaría que la ventana apareciese al pulsar en un enlace ( concretamente un botón del menú ) y que se pudiese cerrar pulsando dentro de ella. No que aparezca al abril el Blog sino al pulsar en el botón del menú. Dicha ventana contendría un texto estenso. ¿ Cómo se podría adaptar el código del Splash Screen para esto ?. Gracias. Tu Blog me es de gran ayuda.

Oloman

Cuando tenga un rato le doy una vuelta y te digo algo... o directamente lo publico. Creo que no es difícil.

Anónimo

Gracias. Repito que tu Blog es muy útil para mí que soy bastante novato en el tema de programación Blogger.

Luis Fernando Gonzalez Llinás

Hola Oloman...pareces midas...todos los temas que "tocas", los conviertes en una mina. Lo implemente en el blog y va de maravilla. Gracias.
Saludos.

Oloman

Je, je, je, Luis. Otro cacharrito más para tu colección. Saludos.

PUBLICAR UN COMENTARIO


No rights reserved
NINGUN DERECHO RESERVADO
...aunque se agradece un enlace. Si crees que algo aquí vulnera los derechos de otro, mándanos un correo.
Para recibir Oloblogger en tu correo, introduce aquí tu dirección

Technorati Blogalaxia Blogesfera Bitacoras.com Twingly Ayuda Blogs Alianzo Wikio Ranking de Buzzear (ES) TOP 100 WEBLOGS Unión Bloggers Hispanos Más tráfico para tu blog Mi blog está incluido en Pixel a Pixel Directorio de blogs Blogissimo Personal Blogs - Blog Top Sites Blogging Blogs - BlogCatalog Blog Directory Top Internet blogs Mi Ping en TotalPing.com Directorio Blogger

Grupo Uniblog

Ir Arriba