show.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. //页面加载完就执行
  2. $(function(){
  3. //自动根据url把当前菜单激活
  4. var page_id = GetQueryString('page_id');
  5. //如果中没有指定page_id,则判断有没有父目录为0的页面,默认打开第一个
  6. if(!page_id) {
  7. page_id = $(".doc-left li").children("a").attr("data-page-id");
  8. };
  9. if(page_id !=null && page_id.toString().length>0)
  10. {
  11. var str = 'page_id='+page_id;
  12. $(".doc-left li").each(function(){
  13. url = $(this).children("a").attr("href");
  14. //如果链接中包含当前url的信息,两者相匹配
  15. if (url && url.indexOf(str) >= 0 ) {
  16. //激活菜单
  17. $(this).addClass("active");
  18. //如果该菜单是子菜单,则还需要把父菜单打开才行
  19. if ($(this).parent('.child-ul')) {
  20. $(this).parent('.child-ul').show();
  21. $(this).parent('.child-ul').parent('li').children("a").children('i').attr("class","icon-chevron-down");
  22. };
  23. //获取对应的page_id
  24. page_id = $(this).children("a").attr("data-page-id");
  25. if (page_id != '' && page_id !='#') {
  26. change_page(page_id)
  27. };
  28. };
  29. })
  30. }
  31. function isMobile(){
  32. return navigator.userAgent.match(/iPhone|iPad|iPod|Android|android|BlackBerry|IEMobile/i) ? true : false;
  33. }
  34. //根据屏幕宽度进行响应(应对移动设备的访问)
  35. if( isMobile()){
  36. AdaptToMobile();
  37. }
  38. $(window).resize(function(){
  39. if( isMobile()){
  40. AdaptToMobile();
  41. }
  42. else if($(window).width() < 600){
  43. AdaptToMobile();
  44. }else{
  45. window.location.reload();
  46. }
  47. });
  48. //js获取url参数
  49. function GetQueryString(name)
  50. {
  51. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  52. var r = window.location.search.substr(1).match(reg);
  53. if(r!=null)return unescape(r[2]); return null;
  54. }
  55. function AdaptToMobile(){
  56. $(".doc-left").removeClass("span3");
  57. $(".doc-left").css("width",'100%');
  58. $(".doc-left").css("height",'initial');
  59. $(".doc-right").removeClass("span12");
  60. $(".doc-head .right").hide();
  61. $(".page-edit-link").html('');
  62. $(".doc-left-newbar").html('');
  63. $(".iframe_content").css("padding-left","30px");
  64. $(".doc-left .nav-list li a i ").css("margin-left" , '10px');
  65. $(".search-input-append").css("width","100%");
  66. $(".search-query-input").css("width","70%");
  67. }
  68. function mScroll(id){
  69. $("html,body").stop(true);
  70. $("html,body").animate(
  71. {scrollTop: $("#"+id).offset().top},
  72. 2000);
  73. }
  74. //点击左侧菜单事件
  75. $(".doc-left li").click(function(){
  76. //先把所有菜单的激活状态取消
  77. $(".doc-left li").each(function(){
  78. $(this).removeClass("active");
  79. });
  80. //先判断是否存在子菜单
  81. if ($(this).children('.child-ul').length != 0) {
  82. //如果子菜单是隐藏的,则显示之;如果是显示状态的,则隐藏
  83. if ($(this).children('.child-ul').css("display") == "none") {
  84. $(this).children('.child-ul').show();
  85. $(this).children("a").children('i').attr("class","icon-chevron-down");
  86. }else{
  87. $(this).children('.child-ul').hide();
  88. $(this).children("a").children('i').attr("class","icon-chevron-right");
  89. }
  90. };
  91. //获取对应的page_id
  92. page_id = $(this).children("a").attr("data-page-id");
  93. if (page_id != '' && page_id != null && page_id !='#') {
  94. change_page(page_id);
  95. //如果是移动设备的话,则滚动页面
  96. if( isMobile()){
  97. mScroll("page-content");
  98. }
  99. };
  100. return false;//禁止原有的href链接
  101. });
  102. //切换页面;
  103. function change_page(page_id){
  104. if(!page_id)return;
  105. var item_id = $("#item_id").val();
  106. var base_url = $("#base_url").val();
  107. $(".page-edit-link").show();
  108. $("#page-content").attr("src" , base_url+"/Home/page/index?page_id="+page_id);
  109. $("#edit-link").attr("href" , base_url+"/Home/page/edit?page_id="+page_id);
  110. $("#copy-link").attr("href" , base_url+"/Home/page/edit?item_id="+item_id+"&copy_page_id="+page_id);
  111. $("#share-page-link").html("http://"+window.location.host+base_url+"/"+item_id+"?page_id="+page_id);
  112. $("#delete-link").attr("href" , base_url+"/Home/page/delete?page_id="+page_id);
  113. }
  114. //分享项目
  115. $("#share").click(function(){
  116. $("#share-modal").modal();
  117. return false;
  118. });
  119. //分享页面
  120. $("#share-page").click(function(){
  121. $("#share-page-modal").modal();
  122. return false;
  123. });
  124. var ifr = document.getElementById('page-content')
  125. ifr.onload = function() {
  126. var iDoc = ifr.contentDocument || ifr.document
  127. var height = calcPageHeight(iDoc)
  128. ifr.style.height = height + 'px'
  129. }
  130. // 计算页面的实际高度,iframe自适应会用到
  131. function calcPageHeight(doc) {
  132. var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)
  133. var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)
  134. var height = Math.max(cHeight, sHeight)
  135. return height
  136. }
  137. var keyMap = {
  138. // 编辑
  139. "Ctrl+E": function() {
  140. location.href = $("#edit-link").attr('href');
  141. },
  142. // 删除
  143. "Ctrl+D": function() {
  144. if (confirm('确认删除吗?'))
  145. location.href = $("#delete-link").attr('href');
  146. },
  147. // 新建页面
  148. "Ctrl+F1": function() {
  149. location.href = $("#new-like").attr('href');
  150. },
  151. // 新建目录
  152. "Ctrl+F2": function() {
  153. location.href = $("#dir-like").attr('href');
  154. }
  155. };
  156. if (!isMobile()) initKeys();
  157. function initKeys() {
  158. var $doc = $(document);
  159. $.each(keyMap, function(key, fn) {
  160. $doc.on('keydown', null, key, function(e) {
  161. e.preventDefault();
  162. fn();
  163. return false;
  164. });
  165. });
  166. }
  167. })