Blog and Web

  • Inicio
  • Foro para Bloggers
  • Templates Blogger
  • Categorias
    • Adsense
    • Blogandweb
    • Blogger
    • Blogs
    • CSS
    • Diseño
      • Fuentes
      • Iconos
      • Logos
    • Dominios
    • Geek
    • HTML
    • Javascript
    • México
    • Notas rápidas
    • Photoshop
      • Brushes
    • PHP
    • Plantillas Blogger
    • Productos Google
      • Firefox
    • Recursos en linea
    • SEO
    • Software
    • Tutoriales
    • Web 2.0
    • Widgets para Blogger
    • Wordpress
      • Plugins
      • Themes
  • Nosotros
  • Publicidad
  • Suscríbete vía RSS
« Mozilla México estrena sitio y foros
Google Developer Day en México »

Dar estilo a los links de diferentes tipos con jQuery

Mayo 6th, 2008  |  Publicado por Francisco en Diseño, Javascript, Tutoriales  |  3 Comentarios

jquery-tipos-de-archivos

Dar estilo a los links de diferentes tipos es muy sencillo con CSS3, pues permite recoger la extensión de cualquier archivo con una instrucción y darle estilos directamente. Por ejemplo:

a[href $='.pdf'] {
padding-right: 20px;
background: url(icono-pdf.gif) no-repeat right;
}

Desafortunadamente estos selectores no son soportados por IE6 (raro ¿verdad?) pero en Web Designer Wall nos dan una solución para hacerlo por medio de la librería jQuery.

  1. Descargamos la librería y hacemos el llamado entre las etiquetas <head> y </head>.
    <script type="text/javascript" src="jquery.js"></script>
  2. Enseguida después del llamado, agregamos la función que hará que se le otorgue una clase a cada tipo de link y otro que abrirá los enlaces externos en una nueva ventana.
    <script type="text/javascript">
    $(document).ready(function(){
    
    //Definición de clases para cada tipo de archivo.
        $("a[@href$=pdf]").addClass("pdf");
    
        $("a[@href$=zip]").addClass("zip");
    
        $("a[@href$=doc]").addClass("doc");
    
    //Estilos y atributos a los enlaces externos.
        $("a:not([@href*=http://blogandweb.com])").not("[href^=#]")
          .addClass("externo")
          .attr({ target: "_blank" });
    
    });
    </script>
  3. Ahora solo falta definir los estilo para cada tipo de archivo. Por ejemplo, agregándole un icono al inicio que lo identifique:
    .pdf {
    padding-left: 20px;
    background: transparent url(icono-pdf.png) left top no-repeat;
    }
    
    .zip {
    padding-left: 20px;
    background: transparent url(icono-zip.png) left top no-repeat;
    }
    
    .doc {
    padding-left: 20px;
    background: transparent url(icono-doc.png) left top no-repeat;
    }
    
    .externo {
    padding-left: 20px;
    background: transparent url(icono-ext.png) left top no-repeat;
    }

    Estos estilos los definimos dentro de la hoja de estilos (style.css) o dentro de la sección css.

  4. Ahora cada vez que usemos un enlace con alguna de las extensiones definidas tendrán los atributos de la clase que le corresponde. Por ejemplo:
    <div id="enlaces">
    	<p><a href="documento.pdf">Archivo PDF</a></p>
    	<p><a href="documento.zip">Archivo ZIP</a></p>
    	<p><a href="documento.doc">Archivo DOC</a></p>
    	<p><a href="http://btemplates.com">BTemplates - enlace externo</a></p>
    	<p><a href="http://serturista.com">Ser Turista - enlace externo</a></p>
    	<p><a href="http://blogandweb.com/2008/05/06/dar-estilo-a-los-links-de-diferentes-tipos-con-jquery/">Regrasar al tutorial - enlace local</a></p>
    	<p><a href="#enlaces">Enlace local #</a></p>
    </div>

Demo | Descargar ejemplo

Artículos relacionados

  • Curso básico de jQuery
  • Valioso curso sobre lo básico de jQuery que sacan los de Javascript...

  • Desaparecer elementos web con jQuery
  • Para hacer un sitio web o un blog más dinámica es necesario...

  • Generador de logos estilo web 2.0
  • Ya te hemos mostrado algunos generadores de botones y background estilo web...

Respuestas

Feed |
  1. ProDigital:

    Mayo 7th, 2008 a las 2:26 pm (#)

    muy bueno!
    saludos

  2. BluesMaster:

    Agosto 19th, 2008 a las 4:12 pm (#)

    Muy buen artículo, por aquí otro fanatico de jquery ;D

Trackbacks

  • Xcitingart » Alternativa a Iconize en Mayo 10, 2008 a las 9:29 am
  • Templates Blogger
  • Aplicaciones web 2.0
  • Foro para Bloggers

Categorías

  • Adsense
  • Blogandweb
  • Blogger
  • Blogs
  • Brushes
  • CSS
  • Diseño
  • Dominios
  • Firefox
  • Fuentes
  • Geek
  • HTML
  • Iconos
  • Javascript
  • Logos
  • México
  • Notas rápidas
  • Photoshop
  • PHP
  • Plantillas Blogger
  • Plugins
  • Productos Google
  • Recursos en linea
  • SEO
  • Software
  • Themes
  • Tutoriales
  • Web 2.0
  • Widgets para Blogger
  • Wordpress

Patrocinadores

  • Anúnciate aquí
  • Foros del Blog
  • Web a 2.0
  • BTemplates
  • Zona Chrome
  • Ser Turista
  • Blog ingeniería

Blogroll

  • Infected-FX
  • Blogmundi
  • Zona Cerebral
  • Sigt
  • Loogic
  • Blog en serio
  • Isopixel
  • Vecindad Gráfica

Entradas Recientes

  • Redireccionar el feed de Wordpress a Feedburner
  • Iconos Wordpress
  • Iconos Blogger (Blogspot)
  • Recibe una alerta cuando tu sitio esté caído
  • Analisis: MundoTatuajes

Comentarios Recientes

  • Francisco en Iconos Wordpress
  • Los Blogos » (AdSense) Dime cuanto ganaste los últimos 2 años y te diré cuanto podrías esperar los próximos 7 en Escribe en Blog and Web
  • soyregatas en Recibir donaciones en Blogger
  • soyregatas en Recibir donaciones en Blogger
  • Francisco en Redireccionar el feed de Wordpress a Feedburner

Archivos

  • Diciembre 2008
  • Noviembre 2008
  • Octubre 2008
  • Septiembre 2008
  • Agosto 2008
  • Julio 2008
  • Junio 2008
  • Mayo 2008
  • Abril 2008
  • Marzo 2008
  • Febrero 2008
  • Enero 2008
  • Diciembre 2007
  • Noviembre 2007
  • Octubre 2007
  • Septiembre 2007
  • Agosto 2007
  • Julio 2007
  • Junio 2007
  • Mayo 2007
  • Abril 2007
  • Marzo 2007
  • Febrero 2007

©2008 Blog and Web - Bajo WordPress. Diseño basado en grindlite.
Condiciones de uso | Política de privacidad