0
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
2 <html>
|
|
3 <head>
|
|
4 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
5 <link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
|
|
6
|
|
7 <title>DataTables example</title>
|
|
8 <style type="text/css" title="currentStyle">
|
|
9 @import "../../media/css/demo_page.css";
|
|
10 @import "../../media/css/demo_table.css";
|
|
11 </style>
|
|
12 <script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
|
|
13 <script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
|
|
14 <script type="text/javascript" charset="utf-8">
|
|
15 /* Time between each scrolling frame */
|
|
16 $.fn.dataTableExt.oPagination.iTweenTime = 100;
|
|
17
|
|
18 $.fn.dataTableExt.oPagination.scrolling = {
|
|
19 "fnInit": function ( oSettings, nPaging, fnCallbackDraw )
|
|
20 {
|
|
21 var oLang = oSettings.oLanguage.oPaginate;
|
|
22 var oClasses = oSettings.oClasses;
|
|
23 var fnClickHandler = function ( e ) {
|
|
24 if ( oSettings.oApi._fnPageChange( oSettings, e.data.action ) )
|
|
25 {
|
|
26 fnCallbackDraw( oSettings );
|
|
27 }
|
|
28 };
|
|
29
|
|
30 var sAppend = (!oSettings.bJUI) ?
|
|
31 '<a class="'+oSettings.oClasses.sPagePrevDisabled+'" tabindex="'+oSettings.iTabIndex+'" role="button">'+oLang.sPrevious+'</a>'+
|
|
32 '<a class="'+oSettings.oClasses.sPageNextDisabled+'" tabindex="'+oSettings.iTabIndex+'" role="button">'+oLang.sNext+'</a>'
|
|
33 :
|
|
34 '<a class="'+oSettings.oClasses.sPagePrevDisabled+'" tabindex="'+oSettings.iTabIndex+'" role="button"><span class="'+oSettings.oClasses.sPageJUIPrev+'"></span></a>'+
|
|
35 '<a class="'+oSettings.oClasses.sPageNextDisabled+'" tabindex="'+oSettings.iTabIndex+'" role="button"><span class="'+oSettings.oClasses.sPageJUINext+'"></span></a>';
|
|
36 $(nPaging).append( sAppend );
|
|
37
|
|
38 var els = $('a', nPaging);
|
|
39 var nPrevious = els[0],
|
|
40 nNext = els[1];
|
|
41
|
|
42 oSettings.oApi._fnBindAction( nPrevious, {action: "previous"}, function() {
|
|
43 /* Disallow paging event during a current paging event */
|
|
44 if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
|
|
45 {
|
|
46 return;
|
|
47 }
|
|
48
|
|
49 oSettings.iPagingLoopStart = oSettings._iDisplayStart;
|
|
50 oSettings.iPagingEnd = oSettings._iDisplayStart - oSettings._iDisplayLength;
|
|
51
|
|
52 /* Correct for underrun */
|
|
53 if ( oSettings.iPagingEnd < 0 )
|
|
54 {
|
|
55 oSettings.iPagingEnd = 0;
|
|
56 }
|
|
57
|
|
58 var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
|
|
59 var innerLoop = function () {
|
|
60 if ( oSettings.iPagingLoopStart > oSettings.iPagingEnd ) {
|
|
61 oSettings.iPagingLoopStart--;
|
|
62 oSettings._iDisplayStart = oSettings.iPagingLoopStart;
|
|
63 fnCallbackDraw( oSettings );
|
|
64 setTimeout( function() { innerLoop(); }, iTween );
|
|
65 } else {
|
|
66 oSettings.iPagingLoopStart = -1;
|
|
67 }
|
|
68 };
|
|
69 innerLoop();
|
|
70 } );
|
|
71
|
|
72 oSettings.oApi._fnBindAction( nNext, {action: "next"}, function() {
|
|
73 /* Disallow paging event during a current paging event */
|
|
74 if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
|
|
75 {
|
|
76 return;
|
|
77 }
|
|
78
|
|
79 oSettings.iPagingLoopStart = oSettings._iDisplayStart;
|
|
80
|
|
81 /* Make sure we are not over running the display array */
|
|
82 if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() )
|
|
83 {
|
|
84 oSettings.iPagingEnd = oSettings._iDisplayStart + oSettings._iDisplayLength;
|
|
85 }
|
|
86
|
|
87 var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
|
|
88 var innerLoop = function () {
|
|
89 if ( oSettings.iPagingLoopStart < oSettings.iPagingEnd ) {
|
|
90 oSettings.iPagingLoopStart++;
|
|
91 oSettings._iDisplayStart = oSettings.iPagingLoopStart;
|
|
92 fnCallbackDraw( oSettings );
|
|
93 setTimeout( function() { innerLoop(); }, iTween );
|
|
94 } else {
|
|
95 oSettings.iPagingLoopStart = -1;
|
|
96 }
|
|
97 };
|
|
98 innerLoop();
|
|
99 } );
|
|
100 },
|
|
101
|
|
102 "fnUpdate": function ( oSettings, fnCallbackDraw )
|
|
103 {
|
|
104 if ( !oSettings.aanFeatures.p )
|
|
105 {
|
|
106 return;
|
|
107 }
|
|
108
|
|
109 /* Loop over each instance of the pager */
|
|
110 var an = oSettings.aanFeatures.p;
|
|
111 for ( var i=0, iLen=an.length ; i<iLen ; i++ )
|
|
112 {
|
|
113 if ( an[i].childNodes.length !== 0 )
|
|
114 {
|
|
115 an[i].childNodes[0].className =
|
|
116 ( oSettings._iDisplayStart === 0 ) ?
|
|
117 oSettings.oClasses.sPagePrevDisabled : oSettings.oClasses.sPagePrevEnabled;
|
|
118
|
|
119 an[i].childNodes[1].className =
|
|
120 ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() ) ?
|
|
121 oSettings.oClasses.sPageNextDisabled : oSettings.oClasses.sPageNextEnabled;
|
|
122 }
|
|
123 }
|
|
124 }
|
|
125 }
|
|
126
|
|
127 $(document).ready(function() {
|
|
128 $('#example').dataTable( {
|
|
129 "sPaginationType": "scrolling"
|
|
130 } );
|
|
131 } );
|
|
132 </script>
|
|
133 </head>
|
|
134 <body id="dt_example">
|
|
135 <div id="container">
|
|
136 <div class="full_width big">
|
|
137 DataTables custom pagination plug-in example
|
|
138 </div>
|
|
139
|
|
140 <h1>Preamble</h1>
|
|
141 <p>The two default pagination styles that DataTables comes with are great for basic tables, but you might which to add extra customisation or a bit of 'glitz'. This plug-in will scroll the table in an animated style.</p>
|
|
142
|
|
143 <h1>Live example</h1>
|
|
144 <div id="demo">
|
|
145 <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
|
|
146 <thead>
|
|
147 <tr>
|
|
148 <th>Rendering engine</th>
|
|
149 <th>Browser</th>
|
|
150 <th>Platform(s)</th>
|
|
151 <th>Engine version</th>
|
|
152 <th>CSS grade</th>
|
|
153 </tr>
|
|
154 </thead>
|
|
155 <tbody>
|
|
156 <tr class="gradeX">
|
|
157 <td>Trident</td>
|
|
158 <td>Internet
|
|
159 Explorer 4.0</td>
|
|
160 <td>Win 95+</td>
|
|
161 <td class="center">4</td>
|
|
162 <td class="center">X</td>
|
|
163 </tr>
|
|
164 <tr class="gradeC">
|
|
165 <td>Trident</td>
|
|
166 <td>Internet
|
|
167 Explorer 5.0</td>
|
|
168 <td>Win 95+</td>
|
|
169 <td class="center">5</td>
|
|
170 <td class="center">C</td>
|
|
171 </tr>
|
|
172 <tr class="gradeA">
|
|
173 <td>Trident</td>
|
|
174 <td>Internet
|
|
175 Explorer 5.5</td>
|
|
176 <td>Win 95+</td>
|
|
177 <td class="center">5.5</td>
|
|
178 <td class="center">A</td>
|
|
179 </tr>
|
|
180 <tr class="gradeA">
|
|
181 <td>Trident</td>
|
|
182 <td>Internet
|
|
183 Explorer 6</td>
|
|
184 <td>Win 98+</td>
|
|
185 <td class="center">6</td>
|
|
186 <td class="center">A</td>
|
|
187 </tr>
|
|
188 <tr class="gradeA">
|
|
189 <td>Trident</td>
|
|
190 <td>Internet Explorer 7</td>
|
|
191 <td>Win XP SP2+</td>
|
|
192 <td class="center">7</td>
|
|
193 <td class="center">A</td>
|
|
194 </tr>
|
|
195 <tr class="gradeA">
|
|
196 <td>Trident</td>
|
|
197 <td>AOL browser (AOL desktop)</td>
|
|
198 <td>Win XP</td>
|
|
199 <td class="center">6</td>
|
|
200 <td class="center">A</td>
|
|
201 </tr>
|
|
202 <tr class="gradeA">
|
|
203 <td>Gecko</td>
|
|
204 <td>Firefox 1.0</td>
|
|
205 <td>Win 98+ / OSX.2+</td>
|
|
206 <td class="center">1.7</td>
|
|
207 <td class="center">A</td>
|
|
208 </tr>
|
|
209 <tr class="gradeA">
|
|
210 <td>Gecko</td>
|
|
211 <td>Firefox 1.5</td>
|
|
212 <td>Win 98+ / OSX.2+</td>
|
|
213 <td class="center">1.8</td>
|
|
214 <td class="center">A</td>
|
|
215 </tr>
|
|
216 <tr class="gradeA">
|
|
217 <td>Gecko</td>
|
|
218 <td>Firefox 2.0</td>
|
|
219 <td>Win 98+ / OSX.2+</td>
|
|
220 <td class="center">1.8</td>
|
|
221 <td class="center">A</td>
|
|
222 </tr>
|
|
223 <tr class="gradeA">
|
|
224 <td>Gecko</td>
|
|
225 <td>Firefox 3.0</td>
|
|
226 <td>Win 2k+ / OSX.3+</td>
|
|
227 <td class="center">1.9</td>
|
|
228 <td class="center">A</td>
|
|
229 </tr>
|
|
230 <tr class="gradeA">
|
|
231 <td>Gecko</td>
|
|
232 <td>Camino 1.0</td>
|
|
233 <td>OSX.2+</td>
|
|
234 <td class="center">1.8</td>
|
|
235 <td class="center">A</td>
|
|
236 </tr>
|
|
237 <tr class="gradeA">
|
|
238 <td>Gecko</td>
|
|
239 <td>Camino 1.5</td>
|
|
240 <td>OSX.3+</td>
|
|
241 <td class="center">1.8</td>
|
|
242 <td class="center">A</td>
|
|
243 </tr>
|
|
244 <tr class="gradeA">
|
|
245 <td>Gecko</td>
|
|
246 <td>Netscape 7.2</td>
|
|
247 <td>Win 95+ / Mac OS 8.6-9.2</td>
|
|
248 <td class="center">1.7</td>
|
|
249 <td class="center">A</td>
|
|
250 </tr>
|
|
251 <tr class="gradeA">
|
|
252 <td>Gecko</td>
|
|
253 <td>Netscape Browser 8</td>
|
|
254 <td>Win 98SE+</td>
|
|
255 <td class="center">1.7</td>
|
|
256 <td class="center">A</td>
|
|
257 </tr>
|
|
258 <tr class="gradeA">
|
|
259 <td>Gecko</td>
|
|
260 <td>Netscape Navigator 9</td>
|
|
261 <td>Win 98+ / OSX.2+</td>
|
|
262 <td class="center">1.8</td>
|
|
263 <td class="center">A</td>
|
|
264 </tr>
|
|
265 <tr class="gradeA">
|
|
266 <td>Gecko</td>
|
|
267 <td>Mozilla 1.0</td>
|
|
268 <td>Win 95+ / OSX.1+</td>
|
|
269 <td class="center">1</td>
|
|
270 <td class="center">A</td>
|
|
271 </tr>
|
|
272 <tr class="gradeA">
|
|
273 <td>Gecko</td>
|
|
274 <td>Mozilla 1.1</td>
|
|
275 <td>Win 95+ / OSX.1+</td>
|
|
276 <td class="center">1.1</td>
|
|
277 <td class="center">A</td>
|
|
278 </tr>
|
|
279 <tr class="gradeA">
|
|
280 <td>Gecko</td>
|
|
281 <td>Mozilla 1.2</td>
|
|
282 <td>Win 95+ / OSX.1+</td>
|
|
283 <td class="center">1.2</td>
|
|
284 <td class="center">A</td>
|
|
285 </tr>
|
|
286 <tr class="gradeA">
|
|
287 <td>Gecko</td>
|
|
288 <td>Mozilla 1.3</td>
|
|
289 <td>Win 95+ / OSX.1+</td>
|
|
290 <td class="center">1.3</td>
|
|
291 <td class="center">A</td>
|
|
292 </tr>
|
|
293 <tr class="gradeA">
|
|
294 <td>Gecko</td>
|
|
295 <td>Mozilla 1.4</td>
|
|
296 <td>Win 95+ / OSX.1+</td>
|
|
297 <td class="center">1.4</td>
|
|
298 <td class="center">A</td>
|
|
299 </tr>
|
|
300 <tr class="gradeA">
|
|
301 <td>Gecko</td>
|
|
302 <td>Mozilla 1.5</td>
|
|
303 <td>Win 95+ / OSX.1+</td>
|
|
304 <td class="center">1.5</td>
|
|
305 <td class="center">A</td>
|
|
306 </tr>
|
|
307 <tr class="gradeA">
|
|
308 <td>Gecko</td>
|
|
309 <td>Mozilla 1.6</td>
|
|
310 <td>Win 95+ / OSX.1+</td>
|
|
311 <td class="center">1.6</td>
|
|
312 <td class="center">A</td>
|
|
313 </tr>
|
|
314 <tr class="gradeA">
|
|
315 <td>Gecko</td>
|
|
316 <td>Mozilla 1.7</td>
|
|
317 <td>Win 98+ / OSX.1+</td>
|
|
318 <td class="center">1.7</td>
|
|
319 <td class="center">A</td>
|
|
320 </tr>
|
|
321 <tr class="gradeA">
|
|
322 <td>Gecko</td>
|
|
323 <td>Mozilla 1.8</td>
|
|
324 <td>Win 98+ / OSX.1+</td>
|
|
325 <td class="center">1.8</td>
|
|
326 <td class="center">A</td>
|
|
327 </tr>
|
|
328 <tr class="gradeA">
|
|
329 <td>Gecko</td>
|
|
330 <td>Seamonkey 1.1</td>
|
|
331 <td>Win 98+ / OSX.2+</td>
|
|
332 <td class="center">1.8</td>
|
|
333 <td class="center">A</td>
|
|
334 </tr>
|
|
335 <tr class="gradeA">
|
|
336 <td>Gecko</td>
|
|
337 <td>Epiphany 2.20</td>
|
|
338 <td>Gnome</td>
|
|
339 <td class="center">1.8</td>
|
|
340 <td class="center">A</td>
|
|
341 </tr>
|
|
342 <tr class="gradeA">
|
|
343 <td>Webkit</td>
|
|
344 <td>Safari 1.2</td>
|
|
345 <td>OSX.3</td>
|
|
346 <td class="center">125.5</td>
|
|
347 <td class="center">A</td>
|
|
348 </tr>
|
|
349 <tr class="gradeA">
|
|
350 <td>Webkit</td>
|
|
351 <td>Safari 1.3</td>
|
|
352 <td>OSX.3</td>
|
|
353 <td class="center">312.8</td>
|
|
354 <td class="center">A</td>
|
|
355 </tr>
|
|
356 <tr class="gradeA">
|
|
357 <td>Webkit</td>
|
|
358 <td>Safari 2.0</td>
|
|
359 <td>OSX.4+</td>
|
|
360 <td class="center">419.3</td>
|
|
361 <td class="center">A</td>
|
|
362 </tr>
|
|
363 <tr class="gradeA">
|
|
364 <td>Webkit</td>
|
|
365 <td>Safari 3.0</td>
|
|
366 <td>OSX.4+</td>
|
|
367 <td class="center">522.1</td>
|
|
368 <td class="center">A</td>
|
|
369 </tr>
|
|
370 <tr class="gradeA">
|
|
371 <td>Webkit</td>
|
|
372 <td>OmniWeb 5.5</td>
|
|
373 <td>OSX.4+</td>
|
|
374 <td class="center">420</td>
|
|
375 <td class="center">A</td>
|
|
376 </tr>
|
|
377 <tr class="gradeA">
|
|
378 <td>Webkit</td>
|
|
379 <td>iPod Touch / iPhone</td>
|
|
380 <td>iPod</td>
|
|
381 <td class="center">420.1</td>
|
|
382 <td class="center">A</td>
|
|
383 </tr>
|
|
384 <tr class="gradeA">
|
|
385 <td>Webkit</td>
|
|
386 <td>S60</td>
|
|
387 <td>S60</td>
|
|
388 <td class="center">413</td>
|
|
389 <td class="center">A</td>
|
|
390 </tr>
|
|
391 <tr class="gradeA">
|
|
392 <td>Presto</td>
|
|
393 <td>Opera 7.0</td>
|
|
394 <td>Win 95+ / OSX.1+</td>
|
|
395 <td class="center">-</td>
|
|
396 <td class="center">A</td>
|
|
397 </tr>
|
|
398 <tr class="gradeA">
|
|
399 <td>Presto</td>
|
|
400 <td>Opera 7.5</td>
|
|
401 <td>Win 95+ / OSX.2+</td>
|
|
402 <td class="center">-</td>
|
|
403 <td class="center">A</td>
|
|
404 </tr>
|
|
405 <tr class="gradeA">
|
|
406 <td>Presto</td>
|
|
407 <td>Opera 8.0</td>
|
|
408 <td>Win 95+ / OSX.2+</td>
|
|
409 <td class="center">-</td>
|
|
410 <td class="center">A</td>
|
|
411 </tr>
|
|
412 <tr class="gradeA">
|
|
413 <td>Presto</td>
|
|
414 <td>Opera 8.5</td>
|
|
415 <td>Win 95+ / OSX.2+</td>
|
|
416 <td class="center">-</td>
|
|
417 <td class="center">A</td>
|
|
418 </tr>
|
|
419 <tr class="gradeA">
|
|
420 <td>Presto</td>
|
|
421 <td>Opera 9.0</td>
|
|
422 <td>Win 95+ / OSX.3+</td>
|
|
423 <td class="center">-</td>
|
|
424 <td class="center">A</td>
|
|
425 </tr>
|
|
426 <tr class="gradeA">
|
|
427 <td>Presto</td>
|
|
428 <td>Opera 9.2</td>
|
|
429 <td>Win 88+ / OSX.3+</td>
|
|
430 <td class="center">-</td>
|
|
431 <td class="center">A</td>
|
|
432 </tr>
|
|
433 <tr class="gradeA">
|
|
434 <td>Presto</td>
|
|
435 <td>Opera 9.5</td>
|
|
436 <td>Win 88+ / OSX.3+</td>
|
|
437 <td class="center">-</td>
|
|
438 <td class="center">A</td>
|
|
439 </tr>
|
|
440 <tr class="gradeA">
|
|
441 <td>Presto</td>
|
|
442 <td>Opera for Wii</td>
|
|
443 <td>Wii</td>
|
|
444 <td class="center">-</td>
|
|
445 <td class="center">A</td>
|
|
446 </tr>
|
|
447 <tr class="gradeA">
|
|
448 <td>Presto</td>
|
|
449 <td>Nokia N800</td>
|
|
450 <td>N800</td>
|
|
451 <td class="center">-</td>
|
|
452 <td class="center">A</td>
|
|
453 </tr>
|
|
454 <tr class="gradeA">
|
|
455 <td>Presto</td>
|
|
456 <td>Nintendo DS browser</td>
|
|
457 <td>Nintendo DS</td>
|
|
458 <td class="center">8.5</td>
|
|
459 <td class="center">C/A<sup>1</sup></td>
|
|
460 </tr>
|
|
461 <tr class="gradeC">
|
|
462 <td>KHTML</td>
|
|
463 <td>Konqureror 3.1</td>
|
|
464 <td>KDE 3.1</td>
|
|
465 <td class="center">3.1</td>
|
|
466 <td class="center">C</td>
|
|
467 </tr>
|
|
468 <tr class="gradeA">
|
|
469 <td>KHTML</td>
|
|
470 <td>Konqureror 3.3</td>
|
|
471 <td>KDE 3.3</td>
|
|
472 <td class="center">3.3</td>
|
|
473 <td class="center">A</td>
|
|
474 </tr>
|
|
475 <tr class="gradeA">
|
|
476 <td>KHTML</td>
|
|
477 <td>Konqureror 3.5</td>
|
|
478 <td>KDE 3.5</td>
|
|
479 <td class="center">3.5</td>
|
|
480 <td class="center">A</td>
|
|
481 </tr>
|
|
482 <tr class="gradeX">
|
|
483 <td>Tasman</td>
|
|
484 <td>Internet Explorer 4.5</td>
|
|
485 <td>Mac OS 8-9</td>
|
|
486 <td class="center">-</td>
|
|
487 <td class="center">X</td>
|
|
488 </tr>
|
|
489 <tr class="gradeC">
|
|
490 <td>Tasman</td>
|
|
491 <td>Internet Explorer 5.1</td>
|
|
492 <td>Mac OS 7.6-9</td>
|
|
493 <td class="center">1</td>
|
|
494 <td class="center">C</td>
|
|
495 </tr>
|
|
496 <tr class="gradeC">
|
|
497 <td>Tasman</td>
|
|
498 <td>Internet Explorer 5.2</td>
|
|
499 <td>Mac OS 8-X</td>
|
|
500 <td class="center">1</td>
|
|
501 <td class="center">C</td>
|
|
502 </tr>
|
|
503 <tr class="gradeA">
|
|
504 <td>Misc</td>
|
|
505 <td>NetFront 3.1</td>
|
|
506 <td>Embedded devices</td>
|
|
507 <td class="center">-</td>
|
|
508 <td class="center">C</td>
|
|
509 </tr>
|
|
510 <tr class="gradeA">
|
|
511 <td>Misc</td>
|
|
512 <td>NetFront 3.4</td>
|
|
513 <td>Embedded devices</td>
|
|
514 <td class="center">-</td>
|
|
515 <td class="center">A</td>
|
|
516 </tr>
|
|
517 <tr class="gradeX">
|
|
518 <td>Misc</td>
|
|
519 <td>Dillo 0.8</td>
|
|
520 <td>Embedded devices</td>
|
|
521 <td class="center">-</td>
|
|
522 <td class="center">X</td>
|
|
523 </tr>
|
|
524 <tr class="gradeX">
|
|
525 <td>Misc</td>
|
|
526 <td>Links</td>
|
|
527 <td>Text only</td>
|
|
528 <td class="center">-</td>
|
|
529 <td class="center">X</td>
|
|
530 </tr>
|
|
531 <tr class="gradeX">
|
|
532 <td>Misc</td>
|
|
533 <td>Lynx</td>
|
|
534 <td>Text only</td>
|
|
535 <td class="center">-</td>
|
|
536 <td class="center">X</td>
|
|
537 </tr>
|
|
538 <tr class="gradeC">
|
|
539 <td>Misc</td>
|
|
540 <td>IE Mobile</td>
|
|
541 <td>Windows Mobile 6</td>
|
|
542 <td class="center">-</td>
|
|
543 <td class="center">C</td>
|
|
544 </tr>
|
|
545 <tr class="gradeC">
|
|
546 <td>Misc</td>
|
|
547 <td>PSP browser</td>
|
|
548 <td>PSP</td>
|
|
549 <td class="center">-</td>
|
|
550 <td class="center">C</td>
|
|
551 </tr>
|
|
552 <tr class="gradeU">
|
|
553 <td>Other browsers</td>
|
|
554 <td>All others</td>
|
|
555 <td>-</td>
|
|
556 <td class="center">-</td>
|
|
557 <td class="center">U</td>
|
|
558 </tr>
|
|
559 </tbody>
|
|
560 <tfoot>
|
|
561 <tr>
|
|
562 <th>Rendering engine</th>
|
|
563 <th>Browser</th>
|
|
564 <th>Platform(s)</th>
|
|
565 <th>Engine version</th>
|
|
566 <th>CSS grade</th>
|
|
567 </tr>
|
|
568 </tfoot>
|
|
569 </table>
|
|
570 </div>
|
|
571 <div class="spacer"></div>
|
|
572
|
|
573
|
|
574 <h1>Initialisation code</h1>
|
|
575 <pre class="brush: js;">/* Time between each scrolling frame */
|
|
576 $.fn.dataTableExt.oPagination.iTweenTime = 100;
|
|
577
|
|
578 $.fn.dataTableExt.oPagination.scrolling = {
|
|
579 "fnInit": function ( oSettings, nPaging, fnCallbackDraw )
|
|
580 {
|
|
581 /* Store the next and previous elements in the oSettings object as they can be very
|
|
582 * usful for automation - particularly testing
|
|
583 */
|
|
584 var nPrevious = document.createElement( 'div' );
|
|
585 var nNext = document.createElement( 'div' );
|
|
586
|
|
587 if ( oSettings.sTableId !== '' )
|
|
588 {
|
|
589 nPaging.setAttribute( 'id', oSettings.sTableId+'_paginate' );
|
|
590 nPrevious.setAttribute( 'id', oSettings.sTableId+'_previous' );
|
|
591 nNext.setAttribute( 'id', oSettings.sTableId+'_next' );
|
|
592 }
|
|
593
|
|
594 nPrevious.className = "paginate_disabled_previous";
|
|
595 nNext.className = "paginate_disabled_next";
|
|
596
|
|
597 nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious;
|
|
598 nNext.title = oSettings.oLanguage.oPaginate.sNext;
|
|
599
|
|
600 nPaging.appendChild( nPrevious );
|
|
601 nPaging.appendChild( nNext );
|
|
602
|
|
603 $(nPrevious).click( function() {
|
|
604 /* Disallow paging event during a current paging event */
|
|
605 if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
|
|
606 {
|
|
607 return;
|
|
608 }
|
|
609
|
|
610 oSettings.iPagingLoopStart = oSettings._iDisplayStart;
|
|
611 oSettings.iPagingEnd = oSettings._iDisplayStart - oSettings._iDisplayLength;
|
|
612
|
|
613 /* Correct for underrun */
|
|
614 if ( oSettings.iPagingEnd < 0 )
|
|
615 {
|
|
616 oSettings.iPagingEnd = 0;
|
|
617 }
|
|
618
|
|
619 var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
|
|
620 var innerLoop = function () {
|
|
621 if ( oSettings.iPagingLoopStart > oSettings.iPagingEnd ) {
|
|
622 oSettings.iPagingLoopStart--;
|
|
623 oSettings._iDisplayStart = oSettings.iPagingLoopStart;
|
|
624 fnCallbackDraw( oSettings );
|
|
625 setTimeout( function() { innerLoop(); }, iTween );
|
|
626 } else {
|
|
627 oSettings.iPagingLoopStart = -1;
|
|
628 }
|
|
629 };
|
|
630 innerLoop();
|
|
631 } );
|
|
632
|
|
633 $(nNext).click( function() {
|
|
634 /* Disallow paging event during a current paging event */
|
|
635 if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
|
|
636 {
|
|
637 return;
|
|
638 }
|
|
639
|
|
640 oSettings.iPagingLoopStart = oSettings._iDisplayStart;
|
|
641
|
|
642 /* Make sure we are not over running the display array */
|
|
643 if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() )
|
|
644 {
|
|
645 oSettings.iPagingEnd = oSettings._iDisplayStart + oSettings._iDisplayLength;
|
|
646 }
|
|
647
|
|
648 var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
|
|
649 var innerLoop = function () {
|
|
650 if ( oSettings.iPagingLoopStart < oSettings.iPagingEnd ) {
|
|
651 oSettings.iPagingLoopStart++;
|
|
652 oSettings._iDisplayStart = oSettings.iPagingLoopStart;
|
|
653 fnCallbackDraw( oSettings );
|
|
654 setTimeout( function() { innerLoop(); }, iTween );
|
|
655 } else {
|
|
656 oSettings.iPagingLoopStart = -1;
|
|
657 }
|
|
658 };
|
|
659 innerLoop();
|
|
660 } );
|
|
661
|
|
662 /* Take the brutal approach to cancelling text selection */
|
|
663 $(nPrevious).bind( 'selectstart', function () { return false; } );
|
|
664 $(nNext).bind( 'selectstart', function () { return false; } );
|
|
665 },
|
|
666
|
|
667 "fnUpdate": function ( oSettings, fnCallbackDraw )
|
|
668 {
|
|
669 if ( !oSettings.aanFeatures.p )
|
|
670 {
|
|
671 return;
|
|
672 }
|
|
673
|
|
674 /* Loop over each instance of the pager */
|
|
675 var an = oSettings.aanFeatures.p;
|
|
676 for ( var i=0, iLen=an.length ; i<iLen ; i++ )
|
|
677 {
|
|
678 if ( an[i].childNodes.length !== 0 )
|
|
679 {
|
|
680 an[i].childNodes[0].className =
|
|
681 ( oSettings._iDisplayStart === 0 ) ?
|
|
682 oSettings.oClasses.sPagePrevDisabled : oSettings.oClasses.sPagePrevEnabled;
|
|
683
|
|
684 an[i].childNodes[1].className =
|
|
685 ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() ) ?
|
|
686 oSettings.oClasses.sPageNextDisabled : oSettings.oClasses.sPageNextEnabled;
|
|
687 }
|
|
688 }
|
|
689 }
|
|
690 }
|
|
691
|
|
692 $(document).ready(function() {
|
|
693 $('#example').dataTable( {
|
|
694 "sPaginationType": "scrolling"
|
|
695 } );
|
|
696 } );</pre>
|
|
697 <style type="text/css">
|
|
698 @import "../examples_support/syntax/css/shCore.css";
|
|
699 </style>
|
|
700 <script type="text/javascript" language="javascript" src="../examples_support/syntax/js/shCore.js"></script>
|
|
701
|
|
702
|
|
703 <h1>Other examples</h1>
|
|
704 <div class="demo_links">
|
|
705 <h2>Basic initialisation</h2>
|
|
706 <ul>
|
|
707 <li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
|
|
708 <li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
|
|
709 <li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
|
|
710 <li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
|
|
711 <li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
|
|
712 <li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
|
|
713 <li><a href="../basic_init/complex_header.html">Complex headers - grouping with colspan</a></li>
|
|
714 <li><a href="../basic_init/dom.html">DOM positioning</a></li>
|
|
715 <li><a href="../basic_init/flexible_width.html">Flexible table width</a></li>
|
|
716 <li><a href="../basic_init/state_save.html">State saving</a></li>
|
|
717 <li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
|
|
718 <li>Scrolling: <br>
|
|
719 <a href="../basic_init/scroll_x.html">Horizontal</a> /
|
|
720 <a href="../basic_init/scroll_y.html">Vertical</a> /
|
|
721 <a href="../basic_init/scroll_xy.html">Both</a> /
|
|
722 <a href="../basic_init/scroll_y_theme.html">Themed</a> /
|
|
723 <a href="../basic_init/scroll_y_infinite.html">Infinite</a>
|
|
724 </li>
|
|
725 <li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
|
|
726 <li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
|
|
727 </ul>
|
|
728
|
|
729 <h2>Advanced initialisation</h2>
|
|
730 <ul>
|
|
731 <li>Events: <br>
|
|
732 <a href="../advanced_init/events_live.html">Live events</a> /
|
|
733 <a href="../advanced_init/events_pre_init.html">Pre-init</a> /
|
|
734 <a href="../advanced_init/events_post_init.html">Post-init</a>
|
|
735 </li>
|
|
736 <li><a href="../advanced_init/column_render.html">Column rendering</a></li>
|
|
737 <li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
|
|
738 <li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
|
|
739 <li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
|
|
740 <li><a href="../advanced_init/complex_header.html">Complex headers and hidden columns</a></li>
|
|
741 <li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
|
|
742 <li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
|
|
743 <li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
|
|
744 <li><a href="../advanced_init/row_callback.html">Row callback</a></li>
|
|
745 <li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
|
|
746 <li><a href="../advanced_init/sorting_control.html">Control sorting direction of columns</a></li>
|
|
747 <li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
|
|
748 <li><a href="../advanced_init/defaults.html">Setting defaults</a></li>
|
|
749 <li><a href="../advanced_init/localstorage.html">State saving with localStorage</a></li>
|
|
750 <li><a href="../advanced_init/dt_events.html">Custom events</a></li>
|
|
751 </ul>
|
|
752
|
|
753 <h2>API</h2>
|
|
754 <ul>
|
|
755 <li><a href="../api/add_row.html">Dynamically add a new row</a></li>
|
|
756 <li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
|
|
757 <li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
|
|
758 <li><a href="../api/highlight.html">Highlight rows and columns</a></li>
|
|
759 <li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
|
|
760 <li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
|
|
761 <li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
|
|
762 <li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
|
|
763 <li><a href="../api/form.html">Submit form with elements in table</a></li>
|
|
764 <li><a href="../api/counter_column.html">Index column (static number column)</a></li>
|
|
765 <li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
|
|
766 <li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
|
|
767 <li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
|
|
768 <li><a href="../api/regex.html">Regular expression filtering</a></li>
|
|
769 </ul>
|
|
770 </div>
|
|
771
|
|
772 <div class="demo_links">
|
|
773 <h2>Data sources</h2>
|
|
774 <ul>
|
|
775 <li><a href="../data_sources/dom.html">DOM</a></li>
|
|
776 <li><a href="../data_sources/js_array.html">Javascript array</a></li>
|
|
777 <li><a href="../data_sources/ajax.html">Ajax source</a></li>
|
|
778 <li><a href="../data_sources/server_side.html">Server side processing</a></li>
|
|
779 </ul>
|
|
780
|
|
781 <h2>Server-side processing</h2>
|
|
782 <ul>
|
|
783 <li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
|
|
784 <li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
|
|
785 <li><a href="../server_side/post.html">Use HTTP POST</a></li>
|
|
786 <li><a href="../server_side/ids.html">Automatic addition of IDs and classes to rows</a></li>
|
|
787 <li><a href="../server_side/object_data.html">Reading table data from objects</a></li>
|
|
788 <li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
|
|
789 <li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
|
|
790 <li><a href="../server_side/jsonp.html">JSONP for a cross domain data source</a></li>
|
|
791 <li><a href="../server_side/editable.html">jEditable integration with DataTables</a></li>
|
|
792 <li><a href="../server_side/defer_loading.html">Deferred loading of Ajax data</a></li>
|
|
793 <li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
|
|
794 </ul>
|
|
795
|
|
796 <h2>Ajax data source</h2>
|
|
797 <ul>
|
|
798 <li><a href="../ajax/ajax.html">Ajax sourced data (array of arrays)</a></li>
|
|
799 <li><a href="../ajax/objects.html">Ajax sourced data (array of objects)</a></li>
|
|
800 <li><a href="../ajax/defer_render.html">Deferred DOM creation for extra speed</a></li>
|
|
801 <li><a href="../ajax/null_data_source.html">Empty data source columns</a></li>
|
|
802 <li><a href="../ajax/custom_data_property.html">Use a data source other than aaData (the default)</a></li>
|
|
803 <li><a href="../ajax/objects_subarrays.html">Read column data from sub-arrays</a></li>
|
|
804 <li><a href="../ajax/deep.html">Read column data from deeply nested properties</a></li>
|
|
805 </ul>
|
|
806
|
|
807 <h2>Plug-ins</h2>
|
|
808 <ul>
|
|
809 <li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
|
|
810 <li><a href="../plug-ins/sorting_plugin.html">Sorting and automatic type detection</a></li>
|
|
811 <li><a href="../plug-ins/sorting_sType.html">Sorting without automatic type detection</a></li>
|
|
812 <li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
|
|
813 <li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
|
|
814 <li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
|
|
815 <li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
|
|
816 </ul>
|
|
817 </div>
|
|
818
|
|
819
|
|
820 <div id="footer" class="clear" style="text-align:center;">
|
|
821 <p>
|
|
822 Please refer to the <a href="http://www.datatables.net/usage">DataTables documentation</a> for full information about its API properties and methods.<br>
|
|
823 Additionally, there are a wide range of <a href="http://www.datatables.net/extras">extras</a> and <a href="http://www.datatables.net/plug-ins">plug-ins</a> which extend the capabilities of DataTables.
|
|
824 </p>
|
|
825
|
|
826 <span style="font-size:10px;">
|
|
827 DataTables designed and created by <a href="http://www.sprymedia.co.uk">Allan Jardine</a> © 2007-2011<br>
|
|
828 DataTables is dual licensed under the <a href="http://www.datatables.net/license_gpl2">GPL v2 license</a> or a <a href="http://www.datatables.net/license_bsd">BSD (3-point) license</a>.
|
|
829 </span>
|
|
830 </div>
|
|
831 </div>
|
|
832 </body>
|
|
833 </html> |