亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

動(dòng)態(tài)數(shù)據(jù)的表格頁面展示

joywek / 3416人閱讀

摘要:而由于沒有后端的數(shù)據(jù)支持,所有的數(shù)據(jù)都在表格中展示,所以需要將表格中的數(shù)據(jù)轉(zhuǎn)為數(shù)據(jù),再通過讀取,然后用模板引擎渲染到頁面上。


如圖所示,是一個(gè)動(dòng)態(tài)的表格,內(nèi)容數(shù)量不定第一層分類是專業(yè)大類的分類,第二層分類的國(guó)家的分類,第三層分類是具體專業(yè)名的分類(就是不同的色塊欄),甚至還有具體的院校名分類。而由于沒有后端的數(shù)據(jù)支持,所有的數(shù)據(jù)都在excel表格中展示,所以需要將表格中的數(shù)據(jù)轉(zhuǎn)為json數(shù)據(jù),再通過ajax讀取,然后用模板引擎渲染到頁面上。

這里需要注意的是json的數(shù)據(jù)內(nèi)容一定要和模板的內(nèi)容互相匹配,這里需要引用的有jQuery,Boostrap,art-Template,將css和js引入后,話不多說,先從HTML開始:





    
    
    
    
    
    
    
    
    藝考生留學(xué)指南
    
    
    
    
    
    
    
    
    



    

陜西新東方前途出國(guó)

電話:029-87203365

地址:西安市高新區(qū)林凱國(guó)際10層(科技路與高新二路
         十字東南角)

Copyright ? 2017-2018 陜西新東方前途出國(guó)

如上所示,為全部HTML,其中id為template的就是模板引擎的模板啦,將整個(gè)表格部分都看做為模板引擎之內(nèi)的內(nèi)容,變量部分就是需要在json中寫上的內(nèi)容,關(guān)于art-template的語法,可以看art_template模板引擎渲染數(shù)據(jù)的小方法。

css 部分不多說。

JS內(nèi)容如下:

window.onload = function () {
    var data;
    $.ajax({
        dataType: "json",
        url: "data.json",
        data: data,
        type: "get",
        success: function (data, key) {
            var datas = data;
            console.log(data);
            for (var key in datas) {};
            // 專業(yè)分類點(diǎn)擊事件
            $(".majors>ul>li").hover(
                function (e) {
                    $(this).children(".mask").css("background", "rgba(0, 0, 0, .3)");
                    $(this).siblings().children(".mask").css("background", "rgba(0, 0, 0, .5)");
                },
                function (e) {
                    $(this).children(".mask").css("background", "rgba(0, 0, 0, .5)");
                    $(this).siblings().children(".mask").css("background", "rgba(0, 0, 0, .5)");
                }

            );
            $("body").on("click", ".majors>ul>li", function (e) {
                console.log("好好學(xué)習(xí)");

                console.log($(this).index());
                // 給當(dāng)前項(xiàng)的兄弟元素加上陰影,給當(dāng)前項(xiàng)去除陰影。
                $(this).addClass("active");
                $(this).siblings().removeClass("active");
                $(this).find(".mask").css("background", "rgba(0, 0, 0, 0)");
                $(this).siblings().find(".mask").css("background", "rgba(0, 0, 0, .5)");
                //獲取當(dāng)前tab中鼠標(biāo)停在的table欄的索引  
                var majorIndex = $(this).index();
                // 取出所有數(shù)據(jù)中當(dāng)前專業(yè)類目數(shù)據(jù)
                var majorData = data[majorIndex];
                console.log(majorData);
                // 由于取出的是對(duì)象,所以遍歷key,求出它的value,并賦值給新變量
                for (var key in majorData) {
                    console.log(majorData[key]);
                    var majorDataA = majorData[key]
                }
                // 當(dāng)國(guó)家項(xiàng)被點(diǎn)擊時(shí)
                $("body").on("click", ".countries>li", function () {
                    console.log($(this));

                    $(this).siblings().removeClass("selected");
                    $(this).addClass("selected")


                    $(".articles").html("");
                    console.log("天天向上");
                    // var countryIndex=$(this).index();
                    // console.log(countryIndex);
                    // var countryData=majorData
                    // 由于json數(shù)據(jù)結(jié)構(gòu)的原因,此處不能用數(shù)組的index綁定,所以用id綁定。
                    var countryId = $(this).attr("id");
                    console.log(countryId)
                    //    得到每個(gè)國(guó)家的數(shù)據(jù)
                    var countryData = majorDataA[countryId];
                    console.log(countryData);
                    // 遍歷當(dāng)前國(guó)家項(xiàng)的數(shù)據(jù)
                    $.each(countryData, function (index, item) {
                        console.log(countryData[index]);
                        console.log(countryData[index].professional);
                        // 為國(guó)家項(xiàng)數(shù)據(jù)設(shè)置一個(gè)新變量
                        var countryDataIndex = countryData[index];
                        console.log(countryDataIndex.professional);
                        // 將國(guó)家項(xiàng)數(shù)據(jù)轉(zhuǎn)為對(duì)象
                        var OBJ = {
                            items: countryDataIndex
                        };
                        console.log(OBJ);
                        // 將對(duì)象寫入模板引擎并賦值給result變量
                        var result = template("template", OBJ);
                        console.log(countryDataIndex.university);

                        $(".articles").append(result);
                    })

                    // 設(shè)置左側(cè)色塊的的高度和右側(cè)表格的高度相等。
                    var tHeight = $("table").height();
                    console.log(tHeight);
                    var aHeight = $("aside").height();
                    console.log(aHeight);
                    var aHeight = tHeight;
                    console.log(tHeight);
                    $("aside").css("height", aHeight);


                })
                $("#Americia").trigger("click");


            })
            $(".art").trigger("click");
        }
    })

注釋上介紹的基本挺清楚啦,所以應(yīng)該沒什么需要解釋的,如果需要請(qǐng)留言。

JSON的數(shù)據(jù),這需要自己來梳理,略復(fù)雜,我梳理后效果是這樣:

[{
        "Performance": {
            "Americia": [{
                "professional": "暫無",
                "direction": " ",
                "university": [
                    "暫無"
                ],
                "standards": [
                    "暫無"
                ],
                "project": [
                    "點(diǎn)擊了解"
                ]

            }],
            "England": [{
                "professional": "戲劇",
                "direction": " Drama",
                "university": [
                    "倫敦大學(xué)皇家霍洛威學(xué)院",
                    "??巳卮髮W(xué)",
                    "華威大學(xué)",
                    "布里斯托大學(xué)"
                ],
                "standards": [
                    "雅思5.0,寫作5.0;
高中三年平均成績(jī)75分以上", "雅思5.5,單項(xiàng)不低于5.0,
高中三年平均成績(jī)75分以上", "雅思5.5,單項(xiàng)不低于5.5;
高中三年平均成績(jī)85分以上", "雅思6.0,寫作5.5,其他不低于5.0;
高中三年平均成績(jī)80分以上" ], "project": [ "點(diǎn)擊了解" ] }], "Canada": [{ "professional": "暫無", "direction": " ", "university": [ "暫無" ], "standards": [ "暫無" ], "project": [ "點(diǎn)擊了解" ] }], "Austrilia": [{ "professional": "暫無", "direction": " ", "university": [ "暫無" ], "standards": [ "暫無" ], "project": [ "點(diǎn)擊了解" ] }], "Europe": [{ "professional": "藝術(shù)
音樂與表演", "direction": " Art music
performance", "university": [ "意大利博洛尼亞大學(xué),羅馬三大" ], "standards": [ "1. 高考文化課300分以上,高中畢業(yè);
2. 意大利語A2水平,計(jì)劃生" ], "project": [ "點(diǎn)擊了解" ] }], "Asia": [{ "professional": "戲劇
電影", "direction": "Dramas
Movies", "university": [ "韓國(guó):韓國(guó)慶熙大學(xué),韓國(guó)中央大學(xué),韓國(guó)建國(guó)大學(xué)等" ], "standards": [ "1.國(guó)內(nèi)高三在讀(完成高二學(xué)業(yè)水平測(cè)試)或高中畢業(yè)(或同等學(xué)歷:中專,職高,技校),具有高中畢業(yè)證,高中藝術(shù)特長(zhǎng);
2.韓語TOPIK三級(jí)(可在韓國(guó)語學(xué)堂完成韓語學(xué)習(xí));
3.表演藝術(shù)學(xué)部 : 一定量的對(duì)詞及指定表演。 " ], "project": [ "藝形者培訓(xùn)項(xiàng)目,境外升學(xué)輔導(dǎo)課程-點(diǎn)擊了解" ] }] } } ]

當(dāng)然這只是數(shù)組中的一條數(shù)據(jù),其他的還有很多條,但是結(jié)構(gòu)都一樣,這里一定要多用數(shù)組類型的json,因?yàn)樾枰獙?duì)數(shù)據(jù)進(jìn)行遍歷,用對(duì)象就比較麻煩,所以我將很多數(shù)據(jù)內(nèi)容都寫成了數(shù)組,只有最底層的具體內(nèi)容才寫作對(duì)象,然后在模板引擎中調(diào)用起來很方便。另外提示一下,模板引擎自帶遍歷功能:模板引擎如何遍歷json中的數(shù)據(jù) ,所以對(duì)象中的具體內(nèi)容直接讓模板引擎遍歷就好了,不用自己造輪子。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/115656.html

相關(guān)文章

  • fsLayuiPlugin數(shù)據(jù)字典使用

    摘要:概述數(shù)據(jù)字典主要解決下拉框數(shù)據(jù)填充和數(shù)據(jù)表格轉(zhuǎn)義處理,一個(gè)數(shù)據(jù)字典可以多處使用。通過服務(wù)端異步請(qǐng)求加載數(shù)據(jù)列表。 概述 數(shù)據(jù)字典主要解決下拉框數(shù)據(jù)填充和數(shù)據(jù)表格轉(zhuǎn)義處理,一個(gè)數(shù)據(jù)字典可以多處使用。 1.多個(gè)頁面下拉框使用同樣的數(shù)據(jù),改一個(gè)地方需要把所有頁面都要修改 2.數(shù)據(jù)表格轉(zhuǎn)義代替自己手動(dòng)寫templet解析模板數(shù)據(jù)字典提供一個(gè)通用的處理方式,支持配置靜態(tài)數(shù)據(jù)字典和動(dòng)態(tài)數(shù)據(jù)...

    yhaolpz 評(píng)論0 收藏0
  • fsLayuiPlugin數(shù)據(jù)字典使用

    摘要:概述數(shù)據(jù)字典主要解決下拉框數(shù)據(jù)填充和數(shù)據(jù)表格轉(zhuǎn)義處理,一個(gè)數(shù)據(jù)字典可以多處使用。通過服務(wù)端異步請(qǐng)求加載數(shù)據(jù)列表。 概述 數(shù)據(jù)字典主要解決下拉框數(shù)據(jù)填充和數(shù)據(jù)表格轉(zhuǎn)義處理,一個(gè)數(shù)據(jù)字典可以多處使用。 1.多個(gè)頁面下拉框使用同樣的數(shù)據(jù),改一個(gè)地方需要把所有頁面都要修改 2.數(shù)據(jù)表格轉(zhuǎn)義代替自己手動(dòng)寫templet解析模板數(shù)據(jù)字典提供一個(gè)通用的處理方式,支持配置靜態(tài)數(shù)據(jù)字典和動(dòng)態(tài)數(shù)據(jù)...

    sunny5541 評(píng)論0 收藏0
  • 動(dòng)態(tài)數(shù)據(jù)表格頁面展示

    摘要:而由于沒有后端的數(shù)據(jù)支持,所有的數(shù)據(jù)都在表格中展示,所以需要將表格中的數(shù)據(jù)轉(zhuǎn)為數(shù)據(jù),再通過讀取,然后用模板引擎渲染到頁面上。 showImg(https://segmentfault.com/img/bV3N8M?w=1574&h=692);如圖所示,是一個(gè)動(dòng)態(tài)的表格,內(nèi)容數(shù)量不定第一層分類是專業(yè)大類的分類,第二層分類的國(guó)家的分類,第三層分類是具體專業(yè)名的分類(就是不同的色塊欄),甚至...

    selfimpr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<