expand-to-given-depth.html 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 { background: white; }
  12. </style>
  13. </head>
  14. <body>
  15. <div id="chart-container"></div>
  16. <script type="text/javascript" src="js/jquery.min.js"></script>
  17. <script type="text/javascript" src="js/jquery.orgchart.js"></script>
  18. <script type="text/javascript">
  19. $(function() {
  20. var datascource = {
  21. 'name': 'Lao Lao',
  22. 'title': 'general manager',
  23. 'children': [
  24. { 'name': 'Bo Miao', 'title': 'department manager' },
  25. { 'name': 'Su Miao', 'title': 'department manager',
  26. 'children': [
  27. { 'name': 'Tie Hua', 'title': 'senior engineer' },
  28. { 'name': 'Hei Hei', 'title': 'senior engineer',
  29. 'children': [
  30. { 'name': 'Pang Pang', 'title': 'engineer' },
  31. { 'name': 'Dan Zai', 'title': 'UE engineer',
  32. 'children': [
  33. { 'name': 'Er Dan Zai', 'title': 'engineer',
  34. 'children': [
  35. { 'name': 'AAA', 'title': 'Intern' },
  36. { 'name': 'BBB', 'title': 'Intern' }
  37. ]
  38. }
  39. ]
  40. }
  41. ]
  42. }
  43. ]
  44. },
  45. { 'name': 'Hong Miao', 'title': 'department manager' },
  46. { 'name': 'Chun Miao', 'title': 'department manager' }
  47. ]
  48. };
  49. var showDescendents = function(node, visibleLevel) {
  50. if (visibleLevel === 1) {
  51. return false;
  52. }
  53. $(node).closest('tr').siblings(':last').children().find('.node:first').each(function(index, node) {
  54. var $temp = $(node).closest('tr').siblings().removeClass('hidden');
  55. var $children = $temp.last().children().find('.node:first');
  56. if ($children.length) {
  57. $children[0].style.offsetWidth = $children[0].offsetWidth;
  58. }
  59. $children.removeClass('slide-up');
  60. showDescendents(node, visibleLevel--);
  61. });
  62. };
  63. $('#chart-container').orgchart({
  64. 'visibleLevel': 2,
  65. 'data' : datascource,
  66. 'nodeContent': 'title',
  67. 'createNode': function($node, data) {
  68. $node.on('click', '.edge', function (event) {
  69. if ($(event.target).is('.fa-chevron-down')) {
  70. showDescendents(this, 3);
  71. }
  72. });
  73. }
  74. });
  75. });
  76. </script>
  77. </body>
  78. </html>