欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js表頭排序?qū)崿F(xiàn)方法

 更新時間:2015年01月16日 11:13:58   投稿:shichen2014  
這篇文章主要介紹了js表頭排序?qū)崿F(xiàn)方法,涉及數(shù)字、字母、字符串比較及排序等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了js表頭排序?qū)崿F(xiàn)方法。分享給大家供大家參考。

具體實現(xiàn)方法如下:

復(fù)制代碼 代碼如下:

<script type="text/javascript">
    //是否遞減排序
    var isDescending = true;
    /*****************************************
    * 要排序的行必須放到<tbody></tbody>標(biāo)簽中
    * tableId:排序表格ID
    * colNo:排序的列號,即第幾列,從0開始
    * startRowNo:排序的開始行號,從0開始
    * sortLength:要排序的行數(shù),
    * type:排序列的類型
    */
    function sort(tableId, colNo ,startRowNo, sortLength, type)
    {
        //如果要排序的行數(shù)是1或是0,則不對其進(jìn)行排序操作
        if(sortLength<=1){
            return;
        }
        var currTable = document.getElementById(tableId);
        var theHeader = currTable.outerHTML.substring(0, currTable.outerHTML.indexOf('<TBODY>')+7)
        var theFooter = currTable.outerHTML.substring(currTable.outerHTML.indexOf('</TBODY>')-8);
        //這里的行數(shù)是去掉表頭表頭行和表位行的行數(shù)
        var theRows = new Array(sortLength);
        //對表中的數(shù)據(jù)進(jìn)行循環(huán)
        for(i=startRowNo; i<sortLength+startRowNo; i++)
        {
            theRows[i-startRowNo] = new Array(currTable.rows[i].cells[colNo].innerText.toLowerCase(), currTable.rows[i].outerHTML);
        }
        if(type.toUpperCase()=='NUMBER')
        {
            theRows.sort(compareNumber);
        }
        else if(type.toUpperCase()=='DATE')
            theRows.sort(compareDate);
        else if(type.toUpperCase()=='STRING')
            theRows.sort(compareString);
        var tableInfo=''
        for(j=0; j<theRows.length; j++)
        {
            tableInfo+=theRows[j][1];
        }
        isDescending = !isDescending;
        currTable.outerHTML= theHeader + tableInfo +theFooter;
        return ;
    }
    //對數(shù)字進(jìn)行比較
    function compareNumber(x, y)
    {
        //對貨幣格式的數(shù)據(jù)進(jìn)行轉(zhuǎn)化
        a = x[0].excludeChars(",").trim();
        b = y[0].excludeChars(",").trim();
 
        if(a==""){a=0;}
        if(b==""){b=0;}
            if(isDescending)
            {
                return parseFloat(b) - parseFloat(a);
            }
            else
            {
                return parseFloat(a) - parseFloat(b);
            }
    }
    //對字符串進(jìn)行比較
    function compareString(x, y)
    {
            if(isDescending)
            {
                if(x[0]>y[0]) return -1;
                else if(x[0]<y[0]) return 1;
                else return 0;
            }
            else
            {
                if(x[0]<y[0]) return -1;
                else if(x[0]>y[0]) return 1;
                else return 0;
            }
    }
    //對時間進(jìn)行比較
    function compareDate(x,y){
        var arr=x[0].split("-");
        var starttime=new Date(arr[0],arr[1],arr[2]);
        var starttimes=starttime.getTime();
        var arrs=y[0].split("-");
        var lktime=new Date(arrs[0],arrs[1],arrs[2]);
        var lktimes=lktime.getTime();
        
        if(isDescending)
        {
            return lktimes - starttimes;
        }
        else
        {
            return starttimes - lktimes;
        }
    }
    //去除字符串中所有指定的字符串
    String.prototype.excludeChars = function(chars){
         var matching = new RegExp(chars , "g") ;
         return this.replace(matching , '') ;
    }
</script>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • javascript DOM 操作基礎(chǔ)知識小結(jié)

    javascript DOM 操作基礎(chǔ)知識小結(jié)

    經(jīng)常用到j(luò)avascript對dom,喜歡這方便的朋友也很多,要想更好的對dom進(jìn)行操作,這些基礎(chǔ)一定要知道的。
    2010-04-04
  • JS實現(xiàn)的文字間歇循環(huán)滾動效果完整示例

    JS實現(xiàn)的文字間歇循環(huán)滾動效果完整示例

    這篇文章主要介紹了JS實現(xiàn)的文字間歇循環(huán)滾動效果,涉及javascript結(jié)合時間函數(shù)定時觸發(fā)實現(xiàn)頁面元素動態(tài)操作相關(guān)技巧,需要的朋友可以參考下
    2018-02-02
  • 基于原生JS實現(xiàn)圖片裁剪

    基于原生JS實現(xiàn)圖片裁剪

    要進(jìn)行圖片編輯,最重要要能夠?qū)D片進(jìn)行裁剪。主要的實現(xiàn)分成兩部分,一部分是前端利用js進(jìn)行裁剪區(qū)域選擇,第二部分是利用PHP進(jìn)行后臺處理?,F(xiàn)在就跟大家分享一下。
    2016-08-08
  • 微信小程序日歷效果

    微信小程序日歷效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序日歷效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Echarts Bar橫向柱狀圖實例代碼

    Echarts Bar橫向柱狀圖實例代碼

    柱狀圖主要用于表示離散數(shù)據(jù)的頻數(shù),也是一種基礎(chǔ)可視化圖,這篇文章主要給大家介紹了關(guān)于Echarts Bar橫向柱狀圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • javascript實現(xiàn)數(shù)字+字母驗證碼的簡單實例

    javascript實現(xiàn)數(shù)字+字母驗證碼的簡單實例

    本篇文章只要是對javascript實現(xiàn)數(shù)字+字母驗證碼的簡單實例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • bootstrapValidator表單驗證插件學(xué)習(xí)

    bootstrapValidator表單驗證插件學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了表單驗證插件bootstrapValidator的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • return false,對阻止事件默認(rèn)動作的一些測試代碼

    return false,對阻止事件默認(rèn)動作的一些測試代碼

    很明顯我們每個函數(shù)都返回false,如果返回值可以阻止事件默認(rèn)動作,那么文本框?qū)o法輸入任何內(nèi)容。 看下面我測試的結(jié)果,注意紅的部分。
    2010-11-11
  • js實現(xiàn)分享到隨頁面滾動而滑動效果的方法

    js實現(xiàn)分享到隨頁面滾動而滑動效果的方法

    這篇文章主要介紹了js實現(xiàn)分享到隨頁面滾動而滑動效果的方法,實例分析了javascript操作頁面元素滾動效果的方法,需要的朋友可以參考下
    2015-04-04
  • JS繪制生成花瓣效果的方法

    JS繪制生成花瓣效果的方法

    這篇文章主要介紹了JS繪制生成花瓣效果的方法,涉及javascript數(shù)學(xué)運算及頁面元素操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08

最新評論