refreshtab.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. //1,选项卡文字超长的,截取展示
  2. //2,调整选项卡的位置和左右按钮的显示
  3. function tab() {
  4. $("#tab>.tabs>li").each(function (i) {
  5. var objString = $(this).find("p").text(); //获取当前选项卡名称
  6. var objLength = $(this).find("p").text().length; //获取当前选项卡名称长度
  7. var num = 8; //选项卡名称最大长度
  8. if (objLength > num) {
  9. objString = $(this).find("p").text(objString.substring(0, num - 1) + "..."); //超出部分省略号表示
  10. }
  11. $(this).css("left", i * (136 + 34)); //left值往右递加
  12. $(this).css("z-index", -(i - 40)) //堆叠顺序往右递减
  13. $("#tab>.tabs>.thistab").css("z-index", "101"); //选中选项卡顺序最高
  14. // var imgname = $(this).attr("code"); //定义变量为选项卡name值
  15. $(this).find("div>img").attr("src", $.app+"/static/biz/image/oa.png"); //更改对应小图标地址
  16. // var imgname1=$("#tab>.tabs>.thistab").attr("name"); //定义变量为选中选项卡name值
  17. // $("#tab>.tabs>.thistab").find("div>img").attr("src","images/"+imgname1+"_1.PNG"); //更改选中选项卡对应小图标地址
  18. // if (imgname=="index") { //首页不能关闭
  19. // $(".thistab").find("span").css("display", "none");
  20. // }
  21. //按钮图片切换
  22. var length = $("#tab>.tabs>li").length; //选项卡的数量
  23. var showtab = Math.floor(parseInt($("#tab").width() - 204) / 170 + 1); //当前浏览器可显示的选项卡数量
  24. var tabsleft = parseInt($("#tabs").css("left"))
  25. if (length > showtab) { //判断选项卡是否超出
  26. if (plus < (length - showtab)) { //判断操作步数
  27. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px -29px");
  28. }
  29. else {
  30. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px 0px");
  31. }
  32. $("#buttontab").css("display","block");
  33. }
  34. else {
  35. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px 0px");
  36. $("#buttontab").css("display","none");
  37. }
  38. if (tabsleft >= 15) {
  39. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px 0px");
  40. }
  41. else {
  42. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px -29px");
  43. }
  44. });
  45. }
  46. function tabmove(code,isnew) {
  47. var tabarray={};
  48. var length = $("#tab>.tabs>li").length; //选项卡的数量
  49. var showtab = Math.floor(parseInt($("#tab").width() - 204) / 170 + 1); //当前浏览器可显示的选项卡数量
  50. $("#tab>.tabs>li").each(function (i) {
  51. //alert($(this).find("p").text());
  52. //alert($(this).attr("code"));
  53. var code=$(this).attr("code");
  54. var tabObj={};
  55. var objString = $(this).find("p").text(); //获取当前选项卡名称
  56. var objLength = $(this).find("p").text().length; //获取当前选项卡名称长度
  57. var num = 8; //选项卡名称最大长度
  58. if (objLength > num) {
  59. objString = $(this).find("p").text(objString.substring(0, num - 1) + "..."); //超出部分省略号表示
  60. }
  61. var cssleft=i * (136 + 34)
  62. $(this).css("left", cssleft); //left值往右递加
  63. $(this).css("z-index", -(i - 40)) //堆叠顺序往右递减
  64. $("#tab>.tabs>.thistab").css("z-index", "101"); //选中选项卡顺序最高
  65. // var imgname = $(this).attr("code"); //定义变量为选项卡name值
  66. $(this).find("div>img").attr("src", $.app+"/static/biz/image/oa.png"); //更改对应小图标地址
  67. tabObj.objString=objString;
  68. tabObj.index=i;
  69. tabObj.code=code;
  70. //tabObj.cssleft=$(this).css("left");
  71. tabObj.cssleft=cssleft;
  72. tabObj.csszindex=$(this).css("z-index");
  73. tabObj.tableft=15;
  74. tabObj.plus=0;
  75. if (i >=showtab){
  76. //alert(tabObj.tableft-(i-showtab+1)*170);
  77. tabObj.tableft=tabObj.tableft-(i-showtab+1)*170;
  78. tabObj.plus=i - showtab+1;
  79. }
  80. tabarray[code]=tabObj;
  81. //tabarray.push(tabObj)
  82. //jQuery.parseJSON(json)
  83. //按钮图片切换
  84. });
  85. //alert(JSON.stringify(tabarray[code]));
  86. tcodeObj=tabarray[code];
  87. $("#tabs").css("left", tcodeObj.tableft);
  88. //alert(plus+"--"+tcodeObj.plus);
  89. plus=tcodeObj.plus
  90. /*
  91. if(!code){
  92. var tabsleft = parseInt($("#tabs").css("left"));
  93. //alert($("#tabs").width());
  94. //alert(JSON.stringify(tabarray[code]));
  95. //
  96. if (length > showtab){
  97. $("#tabs").css("left", tabsleft-170);
  98. plus=length - showtab;
  99. }
  100. }else{
  101. alert(JSON.stringify(tabarray[code]));
  102. }
  103. */
  104. //alert(code+"--->"+JSON.stringify(tabarray))
  105. //alert(JSON.stringify(tabarray));
  106. var tabsleft = parseInt($("#tabs").css("left"))
  107. if (length > showtab) { //判断选项卡是否超出
  108. if (plus < (length - showtab)) { //判断操作步数
  109. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px -29px");
  110. }
  111. else {
  112. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px 0px");
  113. }
  114. $("#buttontab").css("display","block");
  115. }
  116. else {
  117. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px 0px");
  118. $("#buttontab").css("display","none");
  119. }
  120. if (tabsleft >= 15) {
  121. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px 0px");
  122. }
  123. else {
  124. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px -29px");
  125. }
  126. }
  127. //根据选项卡更新内容
  128. function jqtab(tabtit, tab_conbox, shijian) {
  129. //alert(arguments.length);
  130. //点击选项卡触发事件
  131. $(tabtit).find("li").bind(shijian, function () {
  132. $(this).addClass("thistab").siblings("li").removeClass("thistab"); //当前选项卡添加选中样式,删除其他选项卡选中样式
  133. var activeindex = $(this).attr("code"); //当前选项卡name值赋予变量
  134. // $("#iframepage").attr("src",$.app+activeindex);
  135. $('#'+activeindex).css("display","block");
  136. showOrHide(activeindex);
  137. tab();
  138. });
  139. //点击关闭选项卡触发事件
  140. $(tabtit).find("li>div>span").bind(shijian, function () {
  141. var parentli = $(this).parent().parent();
  142. if(parentli.hasClass("thistab")){ //判断当前选项卡是否选中
  143. if (parentli.next("li").length) { //判断下个选项卡是否存在
  144. parentli.next().trigger(shijian); //执行下个选项卡点击事件
  145. } else {
  146. parentli.prev().trigger(shijian); //执行上个选项卡点击事件
  147. }
  148. }
  149. parentli.remove(); //删除当前选项卡
  150. $('#'+parentli.attr("code")).remove();
  151. var tabsleft = parseInt($("#tabs").css("left"));
  152. if(tabsleft<15){
  153. plus--;
  154. $("#tabs").css("left", tabsleft+170);
  155. };
  156. tab();
  157. });
  158. }
  159. function showOrHide(code){
  160. $(".iframepage:not([id='"+code+"'])").each(function(i){
  161. $(this).css("display","none");
  162. });
  163. }