navbar.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. (function(){
  2. /*-----------要加入一个新项,只需在对应的地方加上一个项,-----------*/
  3. /*-----------并补上其相对于根目录的相对地址,以及其名称-----------*/
  4. var nav=[
  5. {href:"index.html",text:"首页"},
  6. {href:"examples/intro.html",text:"产品介绍"},
  7. {href:"examples/developGuide.html",text:"开发指南"},
  8. {href:"examples/examples.html",text:"示范程序"},
  9. {href:"examples/UML.pdf",text:"类结构图"},
  10. {href:"apidoc/index.html",text:"类参考"},
  11. {href:"",text:"技术专题",dropdown:[
  12. {href:"examples/dyncSegmentationTopic.html",text:"动态分段专题"},
  13. {href:"examples/rendererTopic.html",text:"动画渲染专题"},
  14. {href:"examples/mobileTopic.html",text:"离线缓存与 APP 专题"},
  15. {href:"examples/Win8AppTopic.html",text:"面向 Win8 应用商店开发专题"},
  16. {href:"examples/VisualTopic.html",text:"可视化专题",dropdown:[
  17. {href:"examples/HeatMapLayerTopic.html",text:"热点图专题"},
  18. {href:"examples/ClusterLayerTopic.html",text:"聚散图专题"},
  19. {href:"examples/HeatGridLayerTopic.html",text:"热点格网图专题"},
  20. {href:"examples/UTFGridLayerTopic.html",text:"属性图专题"},
  21. {href:"examples/GOISTopic.html",text:"麻点图专题"},
  22. {href:"examples/ElementsTopic.html",text:"扩展图专题"},
  23. {href:"examples/TileVectorTopic.html",text:"矢量分块专题"},
  24. {href:"examples/AnimatorTopic.html",text:"时空数据专题"},
  25. {href:"examples/ThemeLayerGraphTopic.html",text:"客户端统计专题图专题"}
  26. ]},
  27. {href:"examples/PlottingTopic.html",text:"动态标绘专题"}
  28. ]
  29. }
  30. ];
  31. var _getScriptLocation=(function() {
  32. var r = new RegExp("(^|(.*?\\/))(js/navbar.js)(\\?|$)"),
  33. s = document.getElementsByTagName('script'),
  34. src, m, l = "";
  35. for(var i=0, len=s.length; i<len; i++) {
  36. src = s[i].getAttribute('src');
  37. if(src) {
  38. var m = src.match(r);
  39. if(m) {
  40. l = m[1];
  41. break;
  42. }
  43. }
  44. }
  45. return (function() { return l; });
  46. })();
  47. var commonPath=commonPath=_getScriptLocation();
  48. commonPath=commonPath.indexOf("examples")>-1?commonPath.replace("examples","."):"../"+commonPath;
  49. var path00= commonPath+nav[0]["href"];
  50. var outer_head='<div class="navbar-inner">'+
  51. '<div class="container">'+
  52. '<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">'+
  53. '<span class="icon-bar"></span>'+
  54. '<span class="icon-bar"></span>'+
  55. '<span class="icon-bar"></span>'+
  56. '</a>'+
  57. '<a class="brand" href="'+path00+'">JavaScript API</a> '+
  58. '<div class="nav-collapse"> '+
  59. '<ul class="nav" id="titleContent"> ';
  60. var outer_foot='</ul>'+
  61. '</div>'+
  62. '</div>'+
  63. '</div> ';
  64. var inner="";
  65. for(var i=0;i<nav.length;i++)
  66. {
  67. var li=nav[i];
  68. if(li.dropdown==undefined)
  69. {
  70. var pathii=commonPath+li["href"];
  71. inner+='<li class=""><a href="'+pathii+'">'+li["text"]+'</a></li>';
  72. }
  73. else
  74. {
  75. var h= '<li class="dropdown"> '+
  76. '<a class="dropdown-toggle" data-toggle="dropdown" href="">'+li["text"]+' <b class="caret"></b></a> '+
  77. '<ul class="dropdown-menu"> ';
  78. var f= '</ul>'+
  79. '</li>';
  80. var dropDown="";
  81. var d_li=li["dropdown"];
  82. for(var j=0;j<d_li.length;j++)
  83. {
  84. var pathjj=commonPath+d_li[j]["href"];
  85. if(d_li[j].dropdown==undefined)
  86. {
  87. dropDown+='<li class=""><a href="'+pathjj+'">'+d_li[j]["text"]+'</a></li>';
  88. }
  89. else
  90. {
  91. var h2= '<li class=""><a href="'+pathjj+'">'+d_li[j]["text"]+'</a>'+
  92. '<ul > ';
  93. var f2= '</ul>'+
  94. '</li>';
  95. var dropDown2="";
  96. var d_li2=d_li[j]["dropdown"];
  97. for(var k=0;k<d_li2.length;k++)
  98. {
  99. var pathkk=commonPath+d_li2[k]["href"];
  100. dropDown2+='<li class=""><a href="'+pathkk+'">'+d_li2[k]["text"]+'</a></li>';
  101. }
  102. dropDown+=h2+dropDown2+f2;
  103. }
  104. }
  105. inner+=h+dropDown+f;
  106. }
  107. }
  108. var navHtml=outer_head +inner+outer_foot;
  109. var navElement=document.getElementById("navbar");
  110. navElement.innerHTML=navHtml;
  111. /*查找导航条中与打开的文档地址一致的文件,并将其对应的li标签的className改为active,以利用样式*/
  112. var all_li=navElement.getElementsByTagName("li");
  113. var path=window.location.href;
  114. for(var i=0;i<all_li.length;i++)
  115. {
  116. var a=all_li[i].childNodes[0];
  117. if(a&&a.href&&(path.indexOf(a.href)>-1|| (path.match(/-js\.html/)&& a.href.indexOf("apidoc/index.html")>-1)))
  118. {
  119. all_li[i].className="active";
  120. }
  121. }
  122. })();