index.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. $(function(){
  2. //分版本导航
  3. $('span[data-menu="header"]').on('click',function(){
  4. var $this=$(this).parent(),
  5. $menu=$this.find('.header-menu-box'),
  6. $bg=$this.find('.header-menu-bg');
  7. if($menu.css('display')=='none'){
  8. $menu.slideDown();
  9. $bg.show();
  10. }else{
  11. $menu.slideUp();
  12. $bg.hide();
  13. }
  14. });
  15. $('.header-menu-bg').on('click',function(){
  16. $('.header-menu-box').slideUp();
  17. $('.header-menu-bg').hide();
  18. });
  19. // 页面初始化
  20. function pageInit(){
  21. $('.page-sidebar').css('height',$(window).height()-$('.header-wrap').height()-$('.iframe-menu').height());
  22. $(".page-sidebar").niceScroll({cursorborder:"",cursorcolor:"#cccdd1"});
  23. if($('.header-wrap').length>0){
  24. $('#iframe-im').height($(window).height()-$('.header-wrap').outerHeight(true)-$('.iframe-menu').outerHeight(true));
  25. }else{
  26. $('#iframe-im').height($(window).height());
  27. }
  28. iframeMenuList();
  29. $('.page-sidebar').on('click',function(){
  30. $(".page-sidebar").getNiceScroll().resize();
  31. });
  32. $(".page-sidebar").on('mouseover',function() {
  33. $(".page-sidebar").getNiceScroll().resize();
  34. });
  35. }
  36. pageInit();
  37. $(window).resize(function(){throttle(pageInit(), 300)});
  38. //iframe-menu
  39. $('div.menu-collapse[data-iframe="true"]').on('click',"li>a",function(){
  40. if($(this).data('src')!=undefined){
  41. var $iframe=$('#iframe-im'),
  42. $iframeTabs=$('.iframe-menu-list>ul'),
  43. iframeId=$(this).data('iframe');
  44. if(iframeId==undefined) return;
  45. if($iframe.find('iframe[data-iframe="'+iframeId+'"]').length>0){
  46. $iframe.find('iframe[data-iframe="'+iframeId+'"]').show().siblings().hide();
  47. $iframeTabs.children('li[data-iframe="'+iframeId+'"]').find('a').addClass('curr').end().siblings().find('a').removeClass('curr');
  48. var _left=$iframeTabs.children('li[data-iframe="'+iframeId+'"]').index()*131;
  49. if($('.iframe-menu-btn').css('display')=='block'){
  50. $('.iframe-menu-list').css({'left':"-"+_left+"px"}).data('left',-_left);
  51. }
  52. }else{
  53. $iframeTabs.find('a').removeClass('curr');
  54. $iframeTabs.append('<li data-iframe="'+iframeId+'" data-left="'+$(this).data("left")+'"><a href="javascript:;" class="curr"><span class="c-nowrap">'+$(this).find('span.title').text()+'</span><i class="iconfont">&#xe605;</i></a></li>');
  55. $iframe.find('iframe').hide();
  56. $iframe.append('<iframe frameborder="no" src="'+$(this).data('src')+'" width="100%" height="100%" data-iframe="'+iframeId+'" data-left="'+$(this).data("left")+'"></iframe>');
  57. iframeMenuList();
  58. }
  59. }
  60. });
  61. //选中、关闭 iframe tabs
  62. $('.iframe-menu-list').on('click','li>a',function(){
  63. var $iframe=$('#iframe-im'),
  64. $iframeTabs=$('.iframe-menu-list'),
  65. _id=$(this).parent().data('iframe');
  66. $iframe.find('iframe[data-iframe="'+_id+'"]').show().siblings().hide();
  67. $iframeTabs.find('a').removeClass('curr');
  68. $(this).addClass('curr');
  69. }).on('click','li>a>i.iconfont',function(e){
  70. e.stopPropagation();
  71. e.preventDefault();
  72. var $iframe=$('#iframe-im'),
  73. $li =$(this).parents('li'),
  74. _id=$li.data('iframe');
  75. if($li.children('a').is('.curr')){
  76. if($li.next().length>0){
  77. var _nextID=$li.next().data('iframe');
  78. $li.next().children('a').addClass('curr');
  79. $iframe.find('iframe[data-iframe="'+_nextID+'"]').show();
  80. }else if($li.prev().length>0){
  81. var _prevID=$li.prev().data('iframe');
  82. $li.prev().children('a').addClass('curr');
  83. $iframe.find('iframe[data-iframe="'+_prevID+'"]').show();
  84. }
  85. }
  86. $li.remove();
  87. $iframe.find('iframe[data-iframe="'+_id+'"]').remove();
  88. iframeMenuList();
  89. });
  90. function iframeMenuList(){
  91. var $menu=$('.iframe-menu-list'),
  92. $li=$menu.children('ul').children('li'),
  93. $wrap=$('.iframe-menu'),
  94. w=$(window).width();
  95. if($li.length*181>w){
  96. $menu.width($li.length*131);
  97. $('.iframe-menu-btn').show();
  98. var left=($wrap.find('li>a.curr').parent().index()+2)*131-w;
  99. $('.iframe-menu-list').css({'left':"-"+left+"px"}).data('left',-left);
  100. }else{
  101. $('.iframe-menu-list').css({'left':"0px"}).data('left','0');
  102. $('.iframe-menu-btn').hide();
  103. }
  104. }
  105. $('.iframe-menu-btn>a.prev').on('click',function(){
  106. var left=$('.iframe-menu-list').data('left')*1;
  107. if(left>=0){
  108. return false;
  109. }
  110. else if(left<0){
  111. if(left+180>0){
  112. left=-180;
  113. }
  114. $('.iframe-menu-list').stop(true,false).animate({'left':left+180},"fast",function(){
  115. $('.iframe-menu-list').data('left',(left+180));
  116. });
  117. }
  118. });
  119. $('.iframe-menu-btn>a.next').on('click',function(){
  120. var left=$('.iframe-menu-list').data('left')*1;
  121. if(left<-(($('.iframe-menu-list>ul>li').length-2)*180)){
  122. return false;
  123. }
  124. else if(left<=0){
  125. $('.iframe-menu-list').stop(true,false).animate({'left':left-180},"fast",function(){
  126. $('.iframe-menu-list').data('left',left-180);
  127. });
  128. }
  129. });
  130. iframeMenuList();
  131. // 右键菜单
  132. $('.iframe-menu-list>ul>li').bind('contextmenu',function(e){
  133. e.stopPropagation();
  134. e.preventDefault();
  135. var offset=$(this).position();
  136. $('.iframe-menu-mouse').show().css({left:offset.left+20,top:offset.top+30});
  137. return false;
  138. });
  139. $(document).on('click',function(){
  140. $('.iframe-menu-mouse').hide();
  141. });
  142. });