网站
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. function leftNav(where, data) {
  2. var where = where;
  3. var menu = "";
  4. var html = "";
  5. var defaultmenu = {
  6. name: '', //名字
  7. level:'0',//第几级
  8. haschildren: true, //是否有子节点
  9. url: '#', //url路径
  10. isopen: false, //是否展开
  11. children: [{ //子节点
  12. name: '1',
  13. level: '1',
  14. haschildren: true,
  15. url: '',
  16. isopen: true,
  17. children: [{
  18. name: '1.1',
  19. level: '2',
  20. haschildren: true,
  21. url: '',
  22. isopen: true,
  23. children: [{
  24. name: '1.1.1',
  25. level: '3',
  26. haschildren: false,
  27. url: './14-1.html',
  28. isopen: true,
  29. children: ''
  30. }]
  31. }]
  32. }]
  33. };
  34. var here = $("body").find(where);
  35. if(!here.length) {
  36. where = "body";
  37. }
  38. if(data) {
  39. menu = data;
  40. } else {
  41. menu = defaultmenu;
  42. }
  43. $(where).append('<div class="nav_box"><ul class="nav"></ul></div>');
  44. sidebarNav(menu);
  45. function sidebarNav(data) {
  46. html += '<li class="left_nav_list">';
  47. html += '<div class="left_nav_name level' + data.level;
  48. html += '" data-id = ' + data.id + '><em>' + data.classificationName + '</em></div>';
  49. if(data.children!=[]) {
  50. html += '<ul class="nav_ul">';
  51. for(var i = 0, l = data.children.length; i < l; i++) {
  52. var children = data.children[i];
  53. if(children.children.length>0) {
  54. sidebarNav(children);
  55. } else {
  56. html += '<li class="nav_li" data-id=' + children.id;
  57. html += '>';
  58. html += '<em>' + children.classificationName + '</em>';
  59. html += '</li>';
  60. }
  61. }
  62. html += '</ul>';
  63. }
  64. html += '</li>';
  65. }
  66. $(where + " .nav").html('<div class="left_nav_name noBefore" data-id=""><em>全部项目</em></div>'+html);
  67. $(where + " .left_nav_name").on("click", function() {
  68. var open = $(this).hasClass("nav_open");
  69. var id = $(this).attr("data-id");
  70. $(where + " .nav_li").removeClass("nav_li_open");
  71. $(where + " .left_nav_name").removeClass("nav_open");
  72. if(open) {
  73. $(this).removeClass("nav_open");
  74. $(this).removeClass("nav-move");
  75. searchType("");
  76. $(this).next(".nav_ul").slideUp();
  77. } else {
  78. $(this).addClass("nav_open");
  79. $(this).next(".nav_ul").slideDown();
  80. $(this).parents(".left_nav_list").siblings("li").find(".nav_ul").slideUp();
  81. $(this).parents(".left_nav_list").siblings("li").find(".left_nav_name").removeClass("nav_open");
  82. searchType(id);
  83. }
  84. })
  85. $(where + " .nav_li").on("click", function() {
  86. $(where + " .nav_li").removeClass("nav_li_open");
  87. // $(where + " .left_nav_name").removeClass("nav_open");
  88. $(this).addClass("nav_li_open");
  89. $(this).parents(".nav_ul").siblings(".left_nav_name").addClass("nav-move");
  90. $(this).siblings(".left_nav_list").find(".nav_ul").slideUp();
  91. $(this).siblings(".left_nav_list").find(".left_nav_name").removeClass("nav_open");
  92. var id = $(this).attr("data-id");
  93. searchType(id);
  94. })
  95. }