sortTable with jQuery

啊哈~!
不知不覺間已經打混兩個月了。

在這裡祝福大家新年快樂、寵物活潑有朝氣、財富生生不息!

javascript · [高亮] · [原始]

  1. sort = [];
  2. sortTable = function(table) {
  3.     $(‘tr:first th’, table).each(function(n){
  4.         if(‘false’ == $(this).attr(’sort’)) {
  5.         } else {
  6.             $(this).hover(function(){ $(this).css(‘background’,‘#ddd’) }, function(){ $(this).css(‘background’,); });
  7.             $(this).click(function(){
  8.                 moveRow(n);
  9.                 $(this).attr(‘class’,sort[n]);
  10.             });
  11.         }
  12.     });
  13.     moveRow = function (n) {
  14.         var txt = [], rows = $(‘tr:gt(0)’, table);
  15.         rows.each(function(i){
  16.             txt[txt.length] = [$(‘td:eq(n)’,$(this)).text(), $(this)];
  17.         });
  18.         if(!sort[n] || sort[n] == ‘desc’) {
  19.             sort[n] = ‘asc’;
  20.             txt.sort(function(x,y){
  21.                 return (y[0]<x[0])-(x[0]<y[0]);
  22.             });
  23.         } else if(sort[n] == ‘asc’) {
  24.             sort[n] = ‘desc’;
  25.             txt.sort(function(x,y){
  26.                 return (y[0]>x[0])-(x[0]>y[0]);
  27.             });
  28.         }
  29.         for(var i=0; e=txt[i]; i++)
  30.             e[1].appendTo(table);
  31.     }
  32. }
sort = [];
sortTable = function(table) {
	$(\'tr:first th\', table).each(function(n){
		if(\'false\' == $(this).attr(\'sort\')) {
		} else {
			$(this).hover(function(){ $(this).css(\'background\',\'#ddd\') }, function(){ $(this).css(\'background\',\'\'); });
			$(this).click(function(){
				moveRow(n);
				$(this).attr(\'class\',sort[n]);
			});
		}
	});
	moveRow = function (n) {
		var txt = [], rows = $(\'tr:gt(0)\', table);
		rows.each(function(i){
			txt[txt.length] = [$(\'td:eq(n)\',$(this)).text(), $(this)];
		});
		if(!sort[n] || sort[n] == \'desc\') {
			sort[n] = \'asc\';
			txt.sort(function(x,y){
				return (y[0]<x[0])-(x[0]<y[0]);
			});
		} else if(sort[n] == \'asc\') {
			sort[n] = \'desc\';
			txt.sort(function(x,y){
				return (y[0]>x[0])-(x[0]>y[0]);
			});
		}
		for(var i=0; e=txt[i]; i++)
			e[1].appendTo(table);
	}
}

3 Responses to “sortTable with jQuery”

  1. Carrie Says:

    哈,還以為妳轉換到Txp,不再維護這裡了哩XD

    見妳回來,很是開心喔~

  2. gan068 Says:

    我想請教一下您的語法自動上色
    是透過PHP的還是純javascript的呢?

    我想用在樂多上
    我目前是使用dp.SyntaxHighlighter v1.5
    不過他的語法顯示還是有點問題

    謝謝

  3. Beata Says:

    HI, gan068:

    語法色彩是利用 CSS + HTML,只有切換效果才是使用 javascript.

    不過也不光全是 CSS + HTML,因為有搭配 PHP作輔助過濾文字,以產生格式化的 HTML 標籤。所以是….

    後台發表 -> PHP 產生代碼 HTML -> CSS 上色

    dp.SyntaxHighlighter 還不錯用,不過有個致命的小缺點—那就是當代碼過多的時候很吃資源,所以我現在也沒用它了。

Leave a Comment