| | 65 | function enableScroll() { |
| | 66 | if ( defaults.minToScroll ) { |
| | 67 | if ( jQuery.browser.mozilla ) { if (enableScrollHasRun) { return; }; mozScroll(); }; |
| | 68 | if ( jQuery.browser.msie ) { ieScroll() }; |
| | 69 | }; |
| | 70 | enableScrollHasRun = true; |
| | 71 | }; |
| | 72 | |
| | 73 | function mozScroll() { |
| | 74 | for (i=0; i < oTable.tBodies.length; i++) { |
| | 75 | finalSetup = false; |
| | 76 | var rows = oTable.tBodies[i].rows; |
| | 77 | if (rows.length > defaults.minToScroll) { |
| | 78 | finalSetup = true; |
| | 79 | var lastChilds = jQuery(oTable.tBodies[i]).find('td:last-child'); |
| | 80 | jQuery(lastChilds).css('padding-right', '16px'); |
| | 81 | var rows_height = jQuery(rows).height(); |
| | 82 | if ( rows_height == 0 ) { rows_height = 32; }; |
| | 83 | var tbody_height = (rows_height * defaults.minToScroll) + 'px'; |
| | 84 | jQuery(oTable.tBodies[i]).css({ overflow: 'auto', overflowX: 'hidden', height: tbody_height }); |
| | 85 | }; |
| | 86 | if (finalSetup) { jQuery(oTable).css('border-collapse', 'separate'); }; |
| | 87 | }; |
| | 88 | }; |
| | 89 | |
| | 90 | function ieScroll () { |
| | 91 | var rows = 0; |
| | 92 | for ( i=0; i < oTable.tBodies.length; i++) { |
| | 93 | rows += oTable.tBodies[i].rows.length; |
| | 94 | }; |
| | 95 | var tDivID = 'scrollWrapper-'; |
| | 96 | var scrollTop_ = 0; |
| | 97 | if (rows > defaults.minToScroll) { |
| | 98 | var createDiv = true; |
| | 99 | var div_id = tDivID + ieDivID; |
| | 100 | if ( jQuery(oTable).parent().is('div') && jQuery(oTable).parent().attr('id') == tDivID + (ieDivID-1) ) { |
| | 101 | createDiv = false; |
| | 102 | scrollTop_ = oTable.parentNode.scrollTop |
| | 103 | }; |
| | 104 | if ( createDiv ) { jQuery(oTable).wrap('<div id="' + div_id + '"></div>'); }; |
| | 105 | jQuery(oTable).css({ |
| | 106 | margin: '0px', marginRight: '22px', top: '0px', left: '0px' |
| | 107 | }); |
| | 108 | jQuery(oTable.tHead).css('position', 'relative'); |
| | 109 | jQuery(oTable.tHead.rows).css({ |
| | 110 | top: '0px', bottom: '0px', position: 'relative' |
| | 111 | }); |
| | 112 | var rows_height = jQuery(oTable.tBodies[0].rows).height(); |
| | 113 | if ( rows_height == 0 ) { rows_height = 32; }; |
| | 114 | var div_height = (rows_height * defaults.minToScroll) + 'px'; |
| | 115 | jQuery('#'+div_id).css({ |
| | 116 | width: '100%', overflow: 'auto', overflowX: 'hidden', height: div_height |
| | 117 | }); |
| | 118 | oTable.parentNode.scrollTop = scrollTop_; |
| | 119 | jQuery(oTable.tHead.rows).css('top', scrollTop_ + 'px'); |
| | 120 | if ( createDiv ) { ieDivID++; }; |
| | 121 | var div_width = jQuery('#'+div_id).width(); |
| | 122 | var table_width = (div_width-18)*100/div_width; |
| | 123 | jQuery(oTable).css('width', table_width+'%'); |
| | 124 | }; |
| | 125 | return; |
| | 126 | }; |
| | 127 | |
| | 128 | |