tnblog
首页
视频
资源
登录

树形结构的简单实现

5433人阅读 2020/7/12 9:33 总访问:185202 评论:4 收藏:0 手机
分类: .Net

  1. @{
  2.     ViewBag.Title = "无限极目录树";
  3.     // Layout = "~/Views/Shared/_MyLayoutPage.cshtml";
  4. }
  5. <script src="~/Content/js/tree/jquery-1.11.1.min.js"></script>
  6. <div class='lists'></div>
  7. <style>
  8. .lists {
  9. width100%;
  10. height100%;
  11. margin13px;
  12. position: relative;
  13. }
  14. .l_tree {
  15. widthcalc(100% - 44px); 
  16. padding-left22px;
  17. }
  18.  ul li span {
  19.         color#1890ff;
  20.         border1px solid #1890ff;
  21.         width15px;
  22.         height15px;
  23.         display: inline-block;
  24.         text-align: center;
  25.         border-radius50%;
  26.         vertical-align: middle;
  27.         margin-right15px;
  28.         line-height12px;
  29.         cursor: default;
  30.         background#fff;
  31.     }
  32.  .l_tree_branch {
  33. width100%
  34. display: block;
  35. padding10px;
  36.     position: relative;
  37.     padding:5px 10px;
  38. }
  39. ul.l_tree:before {
  40. content'';
  41.     border-left1px dotted #999a9c;
  42.     heightcalc(100%);
  43.     position: absolute;
  44.     left40px;
  45.     top20px;
  46. }
  47. .l_tree,
  48. .l_tree_branch {
  49. position: relative;
  50. }
  51. .l_tree_branch::after {
  52. content'';
  53. width15px;
  54. height0;
  55. border-bottom1px dotted #999a9c;
  56. position: absolute;
  57. rightcalc(100% - 40px);
  58. top18px;
  59. }
  60. </style>
  61.  <script>
  62.      var data = [
  63. {
  64. name'IT互联网',
  65. child: [
  66. name'编辑语言'child: [{ name'java' }, { name'c#/.net' }, { name'python' }, { name'前端开发' }] },
  67. name'移动开发'child: [{ name'android开发' }, { name'IOS开发' }] },
  68. name'游戏开发'child: [{ name'phaser游戏开发' }, { name'webGL游戏开发'child: [{ name'3D游戏' }, { name'2D游戏' }] }] }
  69. ]
  70. },
  71. {
  72. name'设计创作',
  73. child: [{ name'平面设计'child: [{ name'电商美工' }, { name'综合平面设计' }, { name'摄影后期' }] },
  74. name'UI设计'child: [{ name'交互设计' }, { name'webUI设计' }, { name'游戏UI设计' }] },
  75. name'软件设计' }]
  76. },
  77. {
  78. name'升学考研',
  79. child: [{ name'考研' }, { name'大学' }, { name'高中' }, { name'初中' }]
  80. },
  81. {
  82. name'职企考证',
  83. child: [{ name'公务员'child: [{ name'教师考试' }, { name'建筑工程' }] }]
  84. },
  85. {
  86. name'.Net',
  87. child: [{ name'程序开发'child: [{ name'c#' }, { name'asp' }, { name'winform开发' }, { name'web网站开发' }, { name'mvc' }, { name'core' }] }]
  88. }
  89. ];
  90.  
  91.   function tree(data){
  92. var str = "<ul class=l_tree>";
  93. for(var i=0;i<data.length;i++){
  94. str+='<li class="l_tree_branch"><span>-</span>'+data[i].name;
  95. if(data[i].child){
  96. str+=tree(data[i].child);
  97. }
  98. str+="</li>";
  99. }
  100. str += "</ul>";
  101. return str;
  102.      };
  103.     // alert(tree(data));
  104.      $(".lists").html(tree(data));
  105.  $(".lists ul li").click(function(event){
  106. event.stopPropagation(); //阻止事件冒泡
  107. if($(this).find("ul").is(":visible")){
  108. //影藏
  109. $(this).find("ul").hide();
  110. $(this).find("span").text("+");
  111. }else {
  112. //显示
  113. $(this).find("ul").show();
  114. $(this).find("span").text("-");
  115. }
  116. });
  117.  </script>


 

在这里插入图片描述

评价

剑轩

2020/7/13 18:14:44

效果挺不错的,上面代码结构有点点儿乱[嘻嘻]

青春年华:@剑轩没进行css,js的封装,看起来确实挺乱的。

2020/7/13 21:00:42 回复

尘叶心繁

2020/7/17 14:39:43

在这里插入图片描述

青春年华:@尘叶心繁效果還不錯

2020/7/31 10:17:23 回复

人若没梦想,那跟咸鱼有啥样
排名
20
文章
32
粉丝
7
评论
21
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术