refreshtab.js 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. }
  33. else {
  34. $("#buttontab>#tabsnext").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat -36px 0px");
  35. }
  36. if (tabsleft >= 15) {
  37. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px 0px");
  38. }
  39. else {
  40. $("#buttontab>#tabsprev").css("background", "url('"+$.app+"/static/biz/image/change.png') no-repeat 0px -29px");
  41. }
  42. });
  43. }
  44. //根据选项卡更新内容
  45. function jqtab(tabtit, tab_conbox, shijian) {
  46. //点击选项卡触发事件
  47. $(tabtit).find("li").bind(shijian, function () {
  48. $(this).addClass("thistab").siblings("li").removeClass("thistab"); //当前选项卡添加选中样式,删除其他选项卡选中样式
  49. var activeindex = $(this).attr("code"); //当前选项卡name值赋予变量
  50. // $("#iframepage").attr("src",$.app+activeindex);
  51. $('#'+activeindex).css("display","block");
  52. showOrHide(activeindex);
  53. tab();
  54. });
  55. //点击关闭选项卡触发事件
  56. $(tabtit).find("li>div>span").bind(shijian, function () {
  57. var parentli = $(this).parent().parent();
  58. if(parentli.hasClass("thistab")){ //判断当前选项卡是否选中
  59. if (parentli.next("li").length) { //判断下个选项卡是否存在
  60. parentli.next().trigger(shijian); //执行下个选项卡点击事件
  61. } else {
  62. parentli.prev().trigger(shijian); //执行上个选项卡点击事件
  63. }
  64. }
  65. parentli.remove(); //删除当前选项卡
  66. $('#'+parentli.attr("code")).remove();
  67. var tabsleft = parseInt($("#tabs").css("left"));
  68. if(tabsleft<15){
  69. plus--;
  70. $("#tabs").css("left", tabsleft+170);
  71. };
  72. tab();
  73. });
  74. }
  75. function showOrHide(code){
  76. $(".iframepage:not([id='"+code+"'])").each(function(i){
  77. $(this).css("display","none");
  78. });
  79. }