option-createNode.html 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Organization Chart Plugin</title>
  6. <link rel="icon" href="img/logo.png">
  7. <link rel="stylesheet" href="css/font-awesome.min.css">
  8. <link rel="stylesheet" href="css/jquery.orgchart.css">
  9. <link rel="stylesheet" href="css/style.css">
  10. <style type="text/css">
  11. .orgchart .second-menu-icon {
  12. transition: opacity .5s;
  13. opacity: 0;
  14. right: -5px;
  15. top: -5px;
  16. z-index: 2;
  17. color: rgba(68, 157, 68, 0.5);
  18. font-size: 18px;
  19. position: absolute;
  20. }
  21. .orgchart .second-menu-icon:hover { color: #449d44; }
  22. .orgchart .node:hover .second-menu-icon { opacity: 1; }
  23. .orgchart .node .second-menu {
  24. display: none;
  25. position: absolute;
  26. top: 0;
  27. right: -70px;
  28. border-radius: 35px;
  29. box-shadow: 0 0 10px 1px #999;
  30. background-color: #fff;
  31. z-index: 1;
  32. }
  33. .orgchart .node .second-menu .avatar {
  34. width: 60px;
  35. height: 60px;
  36. border-radius: 30px;
  37. float: left;
  38. margin: 5px;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <div id="chart-container"></div>
  44. <script type="text/javascript" src="js/jquery.min.js"></script>
  45. <script type="text/javascript" src="js/jquery.orgchart.js"></script>
  46. <script type="text/javascript">
  47. $(function() {
  48. var datascource = {
  49. 'id': '1',
  50. 'name': 'Lao Lao',
  51. 'title': 'general manager',
  52. 'children': [
  53. { 'id': '2', 'name': 'Bo Miao', 'title': 'department manager' },
  54. { 'id': '3', 'name': 'Su Miao', 'title': 'department manager',
  55. 'children': [
  56. { 'id': '4', 'name': 'Tie Hua', 'title': 'senior engineer' },
  57. { 'id': '5', 'name': 'Hei Hei', 'title': 'senior engineer',
  58. 'children': [
  59. { 'id': '6', 'name': 'Pang Pang', 'title': 'engineer' },
  60. { 'id': '7', 'name': 'Xiang Xiang', 'title': 'UE engineer' }
  61. ]
  62. }
  63. ]
  64. },
  65. { 'id': '8', 'name': 'Yu Jie', 'title': 'department manager' },
  66. { 'id': '9', 'name': 'Yu Li', 'title': 'department manager' },
  67. { 'id': '10', 'name': 'Hong Miao', 'title': 'department manager' },
  68. { 'id': '11', 'name': 'Yu Wei', 'title': 'department manager' },
  69. { 'id': '12', 'name': 'Chun Miao', 'title': 'department manager' },
  70. { 'id': '13', 'name': 'Yu Tie', 'title': 'department manager' }
  71. ]
  72. };
  73. $('#chart-container').orgchart({
  74. 'data' : datascource,
  75. 'visibleLevel': 2,
  76. 'nodeContent': 'title',
  77. 'nodeID': 'id',
  78. 'createNode': function($node, data) {
  79. var secondMenuIcon = $('<i>', {
  80. 'class': 'fa fa-info-circle second-menu-icon',
  81. click: function() {
  82. $(this).siblings('.second-menu').toggle();
  83. }
  84. });
  85. var secondMenu = '<div class="second-menu"><img class="avatar" src="img/avatar/' + data.id + '.jpg"></div>';
  86. $node.append(secondMenuIcon).append(secondMenu);
  87. }
  88. });
  89. });
  90. </script>
  91. </body>
  92. </html>