博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript通过json数据按格式生成一个按字母分类排序的分类信息表
阅读量:6982 次
发布时间:2019-06-27

本文共 2988 字,大约阅读时间需要 9 分钟。

效果图如下

  1.json数据格式

var _people=[{name:'朱瑞',url:'aaaaaa',nick:'zhu'},{name:'刘桂清',url:'aaaaa',nick:'liu'}]; 这里按姓氏排序借用了nick,不用nick的话,需要加载一个汉字拼音对照数组,判断匹配 2.javascript代码
1 (function ($){  2     function SortByGroup(arr,option){  3         this.option=option;  4         this.arr=arr||[];  5     }  6     SortByGroup.prototype={  7         init:function(){  8             this.sort();  9             return this.sortByGroup(this.group()); 10         }, 11         sort:function(){ 12             var tag=this.option.tag; 13             this.arr=this.arr.sort( function compareFunction(param1,param2){ 14                  return param1[tag].localeCompare(param2[tag]); 15              }); 16         }, 17         group:function(){ 18             var arr=[],count=0,def; 19             var charTemp="-1",temp; 20             for(var i in this.arr){ 21                 temp=this.arr[i]; 22                 if(charTemp!==temp[this.option.tag].charAt(0)){ 23                     var one=[]; 24                     one.push(temp); 25                     arr[count]=one; 26                     charTemp=temp[this.option.tag].charAt(0); 27                     count++; 28                 }else{ 29                     arr[count-1].push(temp); 30                 } 31             } 32             return arr; 33         }, 34         sortByGroup:function(arr){ 35             var temp; 36             for(var i =0;i

'+temp+'

    ' 93 } 94 str+=this.renderOne(arr[i]); 95 } 96 if(str) str+="
"; 97 return str; 98 }, 99 renderOne:function(one){100 return '
  • '+one.name+'
  • ';101 },102 renderIndex:function(){103 var str="";104 105 for(var i =0;i
    "+this.index[i]+"";107 }108 str+="
    MORE";109 return str;110 }111 };112 new RenderPage(new SortByGroup(_people,{tag:'nick'}).init()).init();113 })(jQuery);

    3.html页面结构

    按字母搜索

      

    4.css样式

    #pd32 .title4{	border-bottom:1px solid #cecece;	padding-bottom:10px;}#pd32 .title4 p{	float:right;}#pd32 .title4 p a{	background:none;	padding:0px;	float:none;	color:#d26213;	font-family:"Microsoft Yahei","����";	font-size:22px;	cursor:pointer;	margin-left:12px;}#pd32 .block{	margin-top:15px;}#pd32 .block h3{	border-bottom:1px dotted #cfcfcf;	font-size:30px;	font-family:"Arial","Microsoft Yahei","����";	color:#000;	height:40px;	line-height:40px;	padding-bottom:5px;	margin-bottom:8px;}#pd32 .block ul{	zoom:1;}#pd32 .block li{	float:left;	display:inline;	width:102px;	height:30px;	line-height:30px;	overflow:hidden;	font-size:16px;	font-family:"Microsoft Yahei","����";}#pd32 .block li a{	color:#000;}

      

    注:另外需要引入jquery,这里的json数据是在开始就引入的。后面的js代码直接引用了people这个变量(比较low)。

    转载于:https://www.cnblogs.com/licifer/p/4603056.html

    你可能感兴趣的文章
    Spring Boot集成Jasypt安全框架
    查看>>
    GIS基础软件及操作(十)
    查看>>
    HDOJ 2041 超级楼梯
    查看>>
    1108File Space Bitmap Block损坏能修复吗2
    查看>>
    遭遇DBD::mysql::dr::imp_data_size unexpectedly
    查看>>
    人人都会设计模式:03-策略模式--Strategy
    查看>>
    被忽视但很实用的那部分SQL
    查看>>
    解读阿里云oss-android/ios-sdk 断点续传(多线程)
    查看>>
    ML之监督学习算法之分类算法一 ——— 决策树算法
    查看>>
    骡夫电商地址
    查看>>
    亚信安全火力全开猎捕“坏兔子”,全歼详解
    查看>>
    智能家居——IoT零基础入门篇
    查看>>
    《Linux From Scratch》第一部分:介绍 第一章:介绍-1.3. 更新日志
    查看>>
    阿里将在雄安新区设3家子公司:涉AI、蚂蚁金服和菜鸟;北航设立全国首个人工智能专业,与百度合作办学...
    查看>>
    Powershell指令集_2
    查看>>
    归并排序算法
    查看>>
    北京第一个公共云计算平台即将诞生
    查看>>
    5G频谱相争“兵戎相见”各相部署风起云涌
    查看>>
    云计算从“仰望星空”到“脚踏实地”
    查看>>
    台积电要造第一款7nm芯片 明年下半年可投产
    查看>>