Mostrando entradas con la etiqueta Scripts. Mostrar todas las entradas
Mostrando entradas con la etiqueta Scripts. Mostrar todas las entradas

miércoles, 18 de febrero de 2009

Nube de etiqueas o tag cloud en tu blog en Blogger

Si buscáis una manera de organizar las etiquetas o categorías de vuestro blog de una manera mas atractiva y original que una simple lista, en este post describiremos los pasos para poder implementar una nube de tags o nube de etiquetas de la manera mas clara posible.

Es requisito indispensable que vuestro blog posea el widget de las etiquetas para poder visualizar la nube de tags. Si no disponéis de el, es muy sencillo ubicarlo. Id al panel de control de vuestro blog, luego en la pestaña Diseño en Elementos de la página hacéis clic en Añadir un gadget y elegís de la lista el de Etiquetas.

Ahora antes de continuar, es recomendable por no decir obligatorio que hagáis una copia de seguridad de la plantilla antes de realizar cualquier cambio.

A continuación, situados en la pestaña Diseño del panel de control de nuestro blog, nos dirigimos al apartado Edicion de HTML. Una vez allí, buscamos en nuestra plantilla la siguiente instrucción, ]]></b:skin>, que nos va indicar el cierre de la sección CSS. Justo antes debemos incluir el siguiente código de estilo que tendrá la nube de etiquetas, esta a su vez puede ser modificada como ya indicaremos mas adelante.
/* Estilo nube de etiquetas (CSS)
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}
Lo siguiente sera incluir el código que configurará el funcionamiento de la nube de etiquetas que al igual que el estilo puede ser modificada como indicaremos al final del post. El siguiente trozo de código deberemos incluirlo justo después de la misma instrucción anterior, ]]></b:skin> pero antes de la instrucción del cierre de la cabecera, </head>.
<script type='text/javascript'>
// Variables de la nube de etiquetas
var cloudMin = 1;
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>
Por último, modificaremos el gadget de las etiquetas que ya teníamos o que hemos añadido como se explico al comienzo del post para convertirlo en una nube de tags. Para ello debemos buscar la siguiente linea, <b:widget id='Label1' locked='false' title='Labels' type='Label'/> que nos indica el widget de las etiquetas. Para que os sea mas sencilla su búsqueda apretad las teclas Ctrl + F y os aparecerá el cuadro de búsqueda.

Otra cosa que debéis tener en cuenta es, si habéis marcado la opción de Expandir plantillas de artilugios, la linea anterior os aparecerá desplegada, por lo que a la hora de sustituir el código que mostraremos a continuación deberéis hacerlo por todo el código que aparezca entre <b:widget id='Label1' locked='false' title='Labels' type='Label'/> y <b:widget/>.
<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>

<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>

// Don't change anything past this point -----------------
// Cloud function s() ripped from del.icio.us
function s(a,b,i,x){
if(a&gt;b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}

var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
if(ts[t] &lt; cloudMin){
continue;
}
for (var i=0;3 &gt; i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = '/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild(li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>>

<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>

</b:includable>
</b:widget>
Una vez concluido este paso ya podremos hacer una vista previa de nuestra nube, si no se os visualiza correctamente volved a realizar los pasos desde el principio y cercioraros que realizan bien cada paso. Otros fallos de visualización pueden ocurrir cuando no tenéis mas de una etiqueta asignada a algún post de vuestro blog o cuando vuestras etiquetas incluyen caracteres no comunes.

Ahora entra en juego la imaginación de cada uno y toca modificar las variables y los estilos por si alguno se ha quedado descontento con el diseño que trae por defecto. Por tanto empezaremos explicando para que sirve cada atributo del código de variables.

var cloudMin= 1; -- 1 para mostrar todas las etiquetas. Un numero mayor para mostrar ese numero limitado de etiquetas.
var maxFontSize = 20; -- Establece el tamaño máximo en px (píxeles) que tendrá la etiqueta con el mayor numero de artículos.
var maxColor = [0,0,255]; -- Establece el color en formato RGB que tendrá la etiqueta con el mayor numero de artículos.
var minFontSize = 10; -- Establece el tamaño mínimo en px (píxeles) que tendrá la etiqueta con el menor numero de artículos.
var minColor = [0,0,0]; -- Establece el color en formato RGB que tendrá la etiqueta con el menor numero de artículos.
var lcShowCount = false; -- True, para mostrar el numero de post de cada etiqueta, false por defecto.

Por ultimo os daremos unas pautas básicas para que vosotros podais modificar el estilo de la nube de etiquetas, para ello es necesario modicar el codigo de estilo o CSS.

#labelCloud {text-align:center; font-family:arial,sans-serif;} -- El primer atributo, text-align, puede tener los siguientes valores: left, center y right, segun la alineacion que quieras de las etiquetas en la nube. El segundo atributo, font-family, configura el tipo de letra que se usará para mostrar las etiquetas.

#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;} -- El primer atributo tiene dos valores, el que viene por defecto y block, de esta modo se consigue una etiqueta en una linea separada, el segundo atributo, background-image, es si deseas que de fondo aparezca una imagen, para ello debereis sustituir none por la url de la imagen en cuestión entre comillas. El tercer atributo, padding, se usa para dar relleno y por consiguiente mas separacion entre las etiquetas. El cuarto atributo, margin, es similar al padding. El ultimo atributo, border, se usa para lo que indica, para visualizar un borde, ahora esta desactivado pero su configuracion es la siguiente border: 3px solid #FFF; siendo el primer parametor el grosor, el segundo el estilo del borde y el tercero el color, Podeis ver mas estilos de borde en el siguiente post.

Las demas lineas de estilo no son relevantes para modificar el diseño.

Espero que os haya sido de utilidad y hayan encontrado esta guia bastante sencilla. Si os encontrais con algun problema no dudeis en comentarlo que os ayudaremos en todo lo posible. Espero que lo disfruten.

Via phydeaux3

miércoles, 24 de diciembre de 2008

Script efecto nevada para Blogger

Con motivo de las fiestas navideñas, la gran mayoría de la gente, incluido yo, visten sus hogares con adornos de estas fiestas, unos ponen el arbolito con sus bolas y luces otros arman el nacimiento de Jesús con diferentes muñequitos y figuras y otros hacen las dos cosas.

Pero es obvio, que en este caso los que poseemos un blog o una web, al igual que nuestra casa, también forma parte de nosotros, así pues, que mejor manera de darle un toque pare estas fiestas que poniendo una simpática nevada.

Con este sencillo script cargado de un servidor externo, haremos que en nuestro blog comiencen a caer copos de nieve de color blanco de distintos tamaños de manera aleatoria y en todas direcciones.

Así que para quien le guste aquí va.

Simplemente debemos dirigirnos a la pestaña Diseño en la sección Edicion de HTML y pegar las siguientes lineas después de la etiqueta <body>:
<script type="text/javascript"
src="http://inacho07.googlepages.com/snow.js"> </script>
También si lo preferiis podéis añadir un nuevo elemento de tipo HTML/JavaScript y pegarlo allí sin ningún problema, viendo los resultados tras guardar los cambios.

Ojo que si no os funciona es posible que se deba a que el archivo del script en cuestión haya sido eliminado del servidor por lo que tendréis que recurrir obligatoriamente a descargarlo en el enlace de abajo y alojarlo en algún servidor gratuito como Yahoo! Geocities*.

Por otra parte, e indagando mas en este script, que podéis descargaroslo en este enlace y abrirlo con cualquier editor de texto, encontrareis al principio una sección de código configurable que corresponde a 3 variables, num, timer y enableinNS6, estas van a determinar en orden de aparición, el numero de copos que se mostraran por pantalla, el tiempo que diferirá en aparecer un copo y el siguiente y por ultimo la compatibilidad con los navegadores Mozilla y Netscape 6.

Ya veis que pueden experimentar un rato con dichos datos modificando la cantidad de copos o la velocidad de los mismos, sin embargo el tercer parámetro es recomendable dejarlo como esta.

Eso si para que vuestros cambios surjan efecto debéis guardarlo y subirlo algún servidor, de tal manera que en las lineas de código anteriormente expuestas, donde esta la ruta del enlace del script original deberéis sustituirlo por el vuestro.

Espero que lo disfrutéis, Feliz Navidad a todos¡¡

#Actualización: Encontré un nuevo servidor donde está alojado el archivo: http://www.dynamicdrive.com/dynamicindex3/snow.js

lunes, 24 de noviembre de 2008

Animación al abrir la ventana de un enlace

Navegando por la red me encontré un curioso script que al hacer clic en un determinado enlace se nos abre en una ventana de manera animada, podéis ver el ejemplo en el siguiente link.

Bueno no es gran cosa, pero como me resulto simpático lo comparto con vosotros. La forma de implementarlo es muy sencilla, pero antes haced una copia de seguridad de vuestra plantilla, como siempre digo nunca se sabe lo que puede pasar.

Nos dirigimos al panel de control del blog, en la pestaña Diseño en Edición de HTML, apretamos la combinación Ctrl + F y buscamos la etiqueta <body>, después de esta añadimos el siguiente código:
<script>
<!--
var winheight=100
var winsize=100
var x=5

function openwindow(thelocation){
temploc=thelocation
if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)){
window.open(thelocation)
return
}
win2=window.open("","","scrollbars")
win2.moveTo(0,0)
win2.resizeTo(100,100)
go2()
}
function go2(){
if (winheight>=screen.availHeight-3)
x=0
win2.resizeBy(5,x)
winheight+=5
winsize+=5
if (winsize>=screen.width-5){
win2.location=temploc
winheight=100
winsize=100
x=5
return
}
setTimeout("go2()",50)
}
//-->
</script>
Luego para configurar los enlaces simplemente debéis hacerlo de la siguiente manera:
<a href="javascript:openwindow('URL DEL ENLACE')">TITULO DEL ENLACE</a>
Y sin mas tenéis un simpático efecto para vuestros enlaces, espero que les haya gustado.

miércoles, 5 de noviembre de 2008

Menús deplegables estilo Google Chrome

Un sencillo script que genera unos bonitos menús con el estilo del famoso navegador Google Chrome, en donde podrás configurarlo para añadir distintas secciones con sus respectivos sub-menus.

Pero antes de meternos en el lio, haced una copia de seguridad de la plantilla, nunca se sabe lo que puede pasar.

Lo primero que deberéis hacer es descargaros el siguiente archivo (chromemenu.zip) que necesitareis durante todo el proceso.

En este zip encontraremos, chrome.js, chromestyleX.css, chromebg-overX.gif, chromebgX.gif, mientras que de los tres últimos encontraremos para cuatro estilos diferentes los cuales los podéis ver aquí (DynamicDrive), y en donde esta explicado en inglés como configurar el script.

Seguiremos por aquí paso a paso; tendréis que subir los archivos anteriores a algún servidor para poder usarlos en el blog, posteriormente deberéis incluirlos en la plantilla después de la etiqueta <head>:
<link rel="stylesheet" type="text/css" href="DIRECCION DEL ARCHIVO chromestyleX.css" />

<script type="text/javascript" src="DIRECCION DEL ARCHIVO chrome.js"></script>
Ya con el script cargado junto con la hoja de estilos (css), la forma de implementarlo en el blog es mediante el siguiente código:
<div class="chromestyle" id="chromemenu">
<ul>
<li><a href="http://mundilima.blogspot.com">Inicio</a></li>
<li><a href="#" rel="dropmenu1">Categorias</a></li>
<li><a href="#" rel="dropmenu2">Noticias</a></li>
</ul>
</div>

<!--1º menú desplegable -->
<div id="dropmenu1" class="dropmenudiv">
<a href="http://mundilima.blogspot.com/search/label/Juegos%20Flash?max-results=8">Juegos</a>
<a href="http://mundilima.blogspot.com/search/label/WTF?max-results=8">WTF!</a>
<a href="http://mundilima.blogspot.com/search/label/Wallpapers?max-results=8">Wallpapers</a>
</div>

<!--2º menú desplegable -->
<div id="dropmenu2" class="dropmenudiv" style="width: 150px;">
<a href="http://mundilima.blogspot.com/search/label/Curiosidades?max-results=8">Curiosidades</a>
<a href="http://mundilima.blogspot.com/search/label/HTML?max-results=8">HTML</a>
<a href="http://mundilima.blogspot.com/search/label/Humor?max-results=8">Humor</a>
</div>

<script type="text/javascript">
cssdropdown.startchrome("chromemenu")
</script>
Ahora nos dedicaremos a analizar el código anterior por si vosotros queréis darle una organización diferente y obviamente para que cambiéis las direcciones que os interesen.

En primer lugar, entre las etiquetas <ul> y </ul> se encuentran declaradas las secciones en las que dos de ellas son sub-menús (dropmenu1 y dropmenu2), si deseáis añadir mas secciones tanto de un tipo como de otra deberéis duplicar las que correspondan entre esas etiquetas.

En segundo lugar se encuentra definido los sub-menús, obviamente la otra sección no es necesaria dado que no es de este tipo sino que es un sección con enlace directo. Podéis ver el ejemplo en el enlace anterior para que os hagáis una idea a lo que me refiero.

Los sub-menús están estructurados de la siguiente forma, son etiquetas <div> con sus respectivos id (identificadores), que ya los vimos antes declarados en la primer parte, y el resto son simplemente enlaces. Con esto imagino que os sera sencillo identificar donde debéis poner la url de vuestra sección y su titulo respectivo. Lo único que si quieres añadir o reducir el numero de sub-secciones, solo debéis cambiar el numero de enlaces según que fin.

Una ultima cosa a destacar es que a partir del segundo sub-menú incluido este, deberéis agregar la propiedad style="width: 150px;" en el estilo que regulara el ancho del mismo, para así no crear solapamientos en las distintas secciones. Podéis verlo en el código en el segundo sub-menú como esta implementado.

Y si queréis añadir mas de una barrita de estas, para ello, fijaros que al final encontrareis una función en JavaScript llamada cssdropdown.startchrome(), bien pues lo único que hay que hacer para añadir mas barritas es duplicar las variables para cada una de las barras con un numero distinto, algo como lo siguiente:
<script type="text/javascript">
cssdropdown.startchrome("chromemenu", "chromemenu2")
</script>
Para terminar deciros que las barras pueden estar justificadas a la izquierda, al centro o a la derecha, solamente hay que configurarlo abriendo el archivo chromestyleX.css con el editor de texto y buscar el siguiente atributo:
text-align: center;
Por defecto se mostrara en el centro, pero podemos asignarle diferentes valores, left para la izquierda y right para la derecha.

Bueno espero que les guste y os sea de utilidad, para cualquier duda comentarla que os ayudaremos encantados.

miércoles, 29 de octubre de 2008

Mostrar una cabecera distinta aleatoriamente

Hoy, os voy a enseñar un script que yo uso para mostrar las animaciones de los marcianitos aleatoriamente, pero esta vez lo veremos aplicado a la cabecera del blog para que esta cambie cada vez que se cargue la pagina nuevamente.

Lo primero es hacer una copia de seguridad de la plantilla, nunca se sabe lo que puede llegar a pasar.

Todos conocemos o por lo menos intuimos que debe haber una zona en la sección de estilos CSS, en la que este declarada la cabecera del blog. Esta se le denomina #header o también podemos encontrarla como #cabecera o #header-wrapper. Pues bien, estas declaraciones serian mas o menos así:
#header {
background:#476 url("URL DE LA IMAGEN") no-repeat left top;
margin:0 0 0;
color:#fff;
position: relative;
padding: 30px 0px 0px 40px;
height: 60px;
}
Pues el script es muy sencillo, su única función es reemplazar la URL DE LA IMAGEN por aquellas que nosotros elijamos:
El script anterior deberéis situarlo después de la etiqueta <body>, o antes de </body>.

Para aumentar el numero de imágenes aleatorias a mostrar, solo deberéis duplicar enteramente la linea banner[X]="URL DE LA IMAGEN" en donde X sera el valor posterior al ultimo que tenéis agregado en el script, para el ejemplo anterior seria banner[4]="URL DE LA IMAGEN", y si aumentáis la lista también deberéis aumentar la variable de la ecuación de aleatoriedad: var random=Math.round(X*Math.random());, que aplicado al ejemplo anterior sería var random=Math.round(4*Math.random());.

Y para reducir imágenes igual, pero en orden inverso, es decir, quitar tantos banner[X] como queráis y reducir la variable tanto como "banner's" hayais quitado.

Espero haberlo hecho lo mas entendible posible, si tenéis alguna duda comentadlo que para eso estamos, para ayudar ;).

lunes, 13 de octubre de 2008

Visor de códigos en Blogger con SyntaxHighlighter

Me he dado cuenta de que a la hora de publicar algún post que contenga código HTML, CSS o JavaScript, resulta muy difícil de interpretar al estar entrecomillado.

Me he propuesto cambiar este estilo y dejarlo en algo mas decente y mas realista, algo que destaque las etiquetas y las propiedades como si de un editor se tratase. Pues después de bastante tiempo buscando he encontrado el siguiente script llamado SyntaxHighlighter, he conseguido implementarlo y los resultado son mas que satisfactorios. Aun así me gustaría conocer vuestra opinión sobre cual método os parece mejor si este o el anterior. Creo que no habrá duda.

Por otra parte quería compartir mi experiencia con este script por lo que a continuación explico las características que tiene y como podéis usarlo en vuestros blogs.

Las librerías SyntaxHighlighter soporta los siguientes lenguajes de programación resaltandolos como si de un editor se tratase:
  • C++: cpp, c, c++
  • C#: c#, c-sharp, csharp
  • CSS: css
  • Delphi: delphi, pascal
  • Java: java
  • JavaScript: js, jscript, javascript
  • PHP: php
  • Python: py, python
  • Ruby: rb, ruby, rails, ror
  • SQL: sql
  • VB: vb, vb.net
  • XML/HTML: xml, html, xhtml, xslt
Los seudónimos anteriores como podéis apreciar se usaran a la hora de indicarle que tipo de lenguaje vamos a mostrar, ya veremos mas adelanta donde debemos indicarlo.

Lo primero que debéis hacer es bajaros el paquete con todos los archivos que se necesitan, lo podréis hacer desde la pagina oficial, o desde este enlace directo. Lo siguiente sera alojar los archivos esenciales en algún servidor que serian SyntaxHighlighter.css, shCore.js y clipboard.swf. Los demás archivos son los llamados "brushes" y sirven para preformatear los distintos lenguajes soportados. Solo son necesarios los que vayáis a usar, en mi caso solo he implementado shBrushCss.js para el código CSS, shBrushJava.js y shBrushJScript.js para el código Java y JavaScript respectivamente y shBrushXml.js para el HTML. Los demás, por ejemplo como, shBrushCpp.js se usa para C++, shBrushDelphi.js para Delphy, shBrushPhp.js para PHP, shBrushPython.js para Ruby, shBrushSql.js para SQL, shBrushVb.js para VisualBasic y por ultimo shBrushCSharp.js para C#. Te recuerdo que en la anterior lista podréis ver todos los lenguajes y su abreviatura para utilizarlos en el blog.

Una vez alojados los archivos nos dirigimos al panel de control de nuestro blog y en la pestaña Diseño nos vamos a la sección Edición de HTML, y sin necesidad de expandir los artilugios nos situamos después de la etiqueta <head>, no es necesario que sea inmediatamente después sino entre estas etiquetas. Recomiendo que sea al principio o al final. Y ahí, pegamos lo siguiente:

Haced una copia de seguridad antes de realizar ningún cambio, nunca se sabe lo que puede pasar.
<link href="(DIRECCIÓN DONDE SE ENCUENTRE ALOJADO SyntaxHighlighter.css)" rel="stylesheet" type="text/css">
<script src="(DIRECCIÓN DONDE SE ENCUENTRE ALOJADO shCore.js)" type="text/javascript">

<!-- carga los brushes -->
<script src="(DIRECCIÓN DONDE SE ENCUENTRE ALOJADO LOS DISTINTOS BRUSHES, REPETIR TODA LA LINEA SI SE INCLUYE MAS DE UNO)" type="text/javascript">
<script language="javascript">
window.onload = function ()
{
/* permite copiar al portapapeles*/
dp.SyntaxHighlighter.ClipboardSwf = "(DIRECCIÓN DONDE SE ENCUENTRE ALOJADO <br />clipboard.swf)";
/* activa el modo blogger*/
dp.SyntaxHighlighter.BloggerMode();
/* activa Highlight */
dp.SyntaxHighlighter.HighlightAll('code');
}</script>
Guardar los cambios y ya esta todo listo, lo único que nos queda es ponerlo en practica de la siguiente manera en vuestros posts.

<pre name="code" class="(AQUÍ DEBERÉIS INDICAR EL SEUDÓNIMO DEL LENGUAJE QUE IRÉIS A MOSTRAR "Ver lista anterior")">
Código a mostrar....
</pre>
Con esto es todo, si tenéis algún problema no dudéis en comentarlo, nosotros estaremos encantados en ayudarles. A partir de ahora iremos modificando poco a poco los post antiguos para implementar este nuevo método de visualización. Aunque queremos saber que os parece el nuevo cambio.

jueves, 4 de septiembre de 2008

Script para posts aleatorios

Tal y como muestra el titulo, el siguiente script una vez implementado en vuestro blog, permitirá navegar a los usuarios de manera aleatoria solo con pulsar cualquier tipo de enlace que configuremos: Una imagen, un gif o simplemente texto.

El método a seguir es el siguiente. Lo primero es irnos a nuestro panel de control del blog e irnos a la pestaña Diseño, seguidamente nos vamos a la sección Edición de HTML. Sin necesidad de marcar la opción Expandir plantillas de artilugios, apretamos la combinación de te teclas Ctrl + F abriéndose así el cuadro de búsqueda.

Buscamos el cierre de la etiqueta <head> que sería </head> respectivamente. Una vez localizada, podemos añadir el siguiente trozo de código antes de la etiqueta.
<script type='text/javascript'>
//<![CDATA[
function showLucky(root){
var feed = root.feed;
var entries = feed.entry || [];
var entry = feed.entry[0];
window.location = entry.link[0].href;
}
function fetchLuck(luck){
script = document.createElement('script');
script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
function readLucky(root){
var feed = root.feed;
var total = parseInt(feed.openSearch$totalResults.$t,10);
var luckyNumber = Math.floor(Math.random()*total);
luckyNumber++;
fetchLuck(luckyNumber);
}
function feelingLucky(){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=readLucky';
document.getElementsByTagName('head')[0].appendChild(script);
}
//]]>
</script>
Lo último que nos queda es agregar el enlace donde nosotros queramos con el siguiente código.

Un enlace con texto:
<a href="#random" onclick="feelingLucky()" title="Posts Aleatorios">"Posts aleatorios"</a>
O un enlace con una imagen o gif, solo tenéis que cambiar la dirección en rojo para poner la vuestra propia:
<a href="#random" onclick="feelingLucky()" title="Posts Aleatorios"><img src="http://img521.imageshack.us/img521/3936/interrogacionae7.gif"></a>
Si tenéis alguna duda preguntadlo y os ayudaremos ;D.

miércoles, 23 de julio de 2008

Mostrar u ocultar etiquetas "div", onLoad

Una opción que me ha resultado útil después de averiguar su funcionamiento es la manera de mostrar algún contenido que se encuentre entre etiquetas <div> al terminar de cargarse la pagina o por contra, hacer que cuando termine de cargarse la pagina se oculte algo, como un "preload" (precarga).

La implementación es muy sencilla, lo primero es tener el contenido en cuestión entre las etiquetas de tal manera que:Lo siguiente es crear un estilo para este divisor en el que el atributo "display" va a marcar el estado de visualización al empezar a cargarse la página:Según lo que prefiramos elegimos un valor u otro. Lo último a agregar es la función que hará el cambio del valor "display" al terminar de cargarse la página.Con esto, es todo lo que necesitáis para mostrar u ocultar cualquier <div> que se os antoje, recordad que en el script debes dejar el valor contrario al que pusiste en el estilo, ya que si no, no veras ningún efecto.

De esta manera puedes crear divertidos efectos de precarga de una página por ejemplo con este script:Si quieres crear gifs de precarga personalizados, hace tiempo elaboramos un post con distintas herramientas online para crear gifs animados con tal efecto, echadles un vistazo que os pueden resultar interesantes.