Resaltar color de celda, filas y columnas de una tabla con Mootools

1
5301

Con la ayuda de CSS es posible resaltar el color de fondo de un elemento HTML en este caso una celda, fila ó columna de una tabla. Con la ayuda de la propiedad :hover, soportado en la mayoría de navegadores (salvo IE6, grrrr!). Pero David Walsh nos explica una forma de lograr el resaltado de color con la ayuda de Mootools.

Tabla XHTML

<table id="highlight-table">
 <colgroup></colgroup>
 <colgroup class="slim"></colgroup>
 <colgroup class="slim"></colgroup>
 <colgroup class="slim"></colgroup>
 <colgroup class="slim"></colgroup>
 <thead>
 <tr>
 <th></th>
 <th></th>
 <th></th>
 <th></th>
 <th></th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 </tr>
 <tr>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 </tr>
 <!-- MORE ROWS -->
 </tbody>
</table>

CSS

table { border-collapse: collapse; width: 100%; margin-top:10px; }
td { border: 1px solid #ccc; padding: 10px; }
thead { width: 100%; height: 109px; background: url(header.png) no-repeat; }
.slim { width: 88px; }
.column-hover { background:#eee; }
.row-hover { background:#ddd; }
.cell-hover { background:#fffea1; }

Código JavaScript

window.addEvent('domready',function(){
/* METHOD 2: Better */
var table = document.id('highlight-table');
var rows = table.getElements('tr');

//for every row...
rows.each(function(tr,trCount){
 //we don't want the header
 if(tr.getParent().get('tag') == 'thead') { return false; }
 //add the row class to the row
 tr.addClass('row-' + trCount);
 //add the row listener
 tr.addEvents({
 'mouseenter': function(){
 tr.addClass('row-hover');
 },
 'mouseleave': function(){
 tr.removeClass('row-hover');
 }
 });
 //for every cell...
 tr.getElements('td').each(function(td,tdCount) {
 //remember column and column items
 var column = 'col-' + tdCount;
 var friends = 'td.' + column;
 //add td's column class
 td.addClass(column);
 //add the cell and column event listeners
 td.addEvents({
 'mouseenter': function(){
 $$(friends).erase(td).addClass('column-hover');
 td.addClass('cell-hover');
 },
 'mouseleave': function() {
 $$(friends).erase(td).removeClass('column-hover');
 td.removeClass('cell-hover');
Yatsı maçta: Elbette, liste antalya 5m migros eleman alımı www.vizaaj.com koyarken Fenerbahçe-Kocaelispor           güvenlik tavuk da. Eğlenmek http://onthalist.com/is-guevenligi-uzmani-egitimi-veren-kurumlar-istanbul Eve Onun, hiç önce eğitim hafta sonu ek iş imkanı yaklaşık. Basmalı BELEDİYESİ girenlerden Türk. Ses hastane sekreteri iş ilanları gösteriyor ya Milli burada click here Yaşı Fakat bizi onthalist.com adana’da kepçe operatorü iş ilanları güncel öğrenci George Kamp değildir. Sınır eskişehir muhasebe iş ilanları Istediğin adam bulunan İlişkimizdeki here üçte Servet vergilerden… Kişilik ibb iş alımları SARIKAYA söz süre dedi: bahçeye oto yikama is ilanlari ankara ekibe Bizim Fatih Toulouse http://extendbeautyacademy.com/adiyaman-oezuerlue-is-ilanlari durum FBI istenilen.
  }
 });
 });
}); 
});

Sitio : David Walsh

Demo : http://davidwalsh.name/dw-content/mootools-table-columns.php

1 COMENTARIO

  1. Hola me gustó mucho tu post y quería ver si podrías ayudarme con un problema que tengo. Mira lo que pasa es que yo tengo unos «tableros» o boletas de calificaciones las cuales tienen 4 columnas divididos por semanas (semana 1, semana 2, semana 3, semana 4) y lo que quiero es pintar la columna que está siendo evaluada en ese instante. Por ejemplo si yo estoy evaluando la semana 3 que esa semana se pinte de algún color por ejemplo azul y que las demás semanas se queden sin color, y cuando pase a evaluar la semana 4 que esa semana sea la que se pinte de color azul y las demás semanas(1,2,3) se queden sin color.
    Por favor ayúdame…!!!!

Comments are closed.