// +------------------------------------------------------------------------------------+ // | jQuery plugin scrollTable | // +------------------------------------------------------------------------------------+ // | @author: Juarez Gon?alves Nery Junior - https://juareznjunior.wordpress.com | // | @email: juareznjunior@gmail.com | // | @license: CC Attribution 2.5 Brazil http://creativecommons.org/licenses/by/2.5/br/ | // +------------------------------------------------------------------------------------+ ;(function($){ var create = { elem: false ,appendTo:false ,run: function() { var $elem = create.elem ,$append = create.appendTo ,$tr = $elem.find('tr'); if ($tr.length > 0) { if ('' !== $elem[0].className) { $append.addClass($elem[0].className); } $tr.each(function(){ var selfTR = this ,tr = document.createElement('tr') ,th = document.createElement('th'); $(th).width(12).appendTo(selfTR); $(selfTR).find('th').each(function(){ $(this).css({ width: $(this).width() ,backgroundColor: $(this).css('background-color') }).clone(true).attr({ rowSpan: this.rowSpan, colSpan: this.colSpan }).appendTo(tr); }); $(tr).appendTo($append); }); /* WTF?! Fail! */ /*if ('tfoot' === $elem[0].tagName.toLowerCase()) { $elem.css('visibility',(($.browser.msie) ? 'hidden' : 'collapse')); }*/ /* True! */ if ('tfoot' === $elem[0].tagName.toLowerCase()) { $elem.css('display', 'none'); } } create.elem = false; create.appendTo = false; } }; $.fn.scrollTable = function(options){ var options = $.extend({},$.fn.scrollTable.defaults,options); return this.each(function(){ var $self = $(this) ,selfDOM = this; if (!$self.hasClass('hasGrid')) { $self.addClass('hasGrid').width('100%').css('position', 'relative'); var $TABLE = $self.find('table'); if (0 === $TABLE.length) { return; } $TABLE.width($self.width()); var divHeader = document.createElement('div') ,divFooter = null ,$divHeader = $(divHeader).addClass('divHeader').append('