📄 正在查看:static/admin/js/admin.js
大小:8,088 字节 · 修改:2014-01-24 01:15:24 · 行数:242
1$(window).resize(windowTab);
2var twRoot = 1;
3$(function(){
4 setNav();//导航栏
5 loadMenu("my");
6
7 //标签页
8 $("#adder").click(function(){addTab()});
9 $("#closeer").click(delsTab);
10
11 $("#leftbtn").click(leftTab);
12 $("#rightbtn").click(rightTab);
13
14 $("#closeer,#adder,#leftbtn,#rightbtn").hover(function(){$(this).addClass("on");}, function(){$(this).removeAttr("class");});
15
16 $("#ifr_refresh").click(function(){ ifrRefresh($("#box_tab ul li.on").index()); return false; });
17 $("#full_screen").click(function(){$(".acp").toggleClass("fsn");return false;});
18});
19
20//刷新一个框架
21function ifrRefresh(i) {
22 var newUrl = $("#box_tab ul li").eq(i).attr("url") + getR();
23 $("#box_frame iframe").eq(i).attr("src", newUrl);
24}
25
26//导航栏
27function setNav() {
28 $(".nav ul li").hover(
29 function(){$(this).children("b").addClass("on");$(this).children("dl").show();}, function(){$(this).children("b").removeClass("on");$(this).children("dl").hide();}
30 ).click(function(){
31 loadMenu($(this).attr("pKey"));
32 });
33
34 $(".nav ul li dl dd").hover(
35 function(){$(this).addClass("x");}, function(){$(this).removeAttr("class");}
36 ).click(function(){
37 oneTab($(this).attr("urlKey"));
38 });
39}
40
41//判断只加载一次标签
42function oneTab(urlKey, url) {
43 if(!url) url = urlKey;
44
45 var newUrlKey = "my-newtab";
46 var len = $("#box_tab ul li[urlKey='"+urlKey+"']").length;
47
48 if(len>0) {
49 onTab($("#box_tab ul li[urlKey='"+urlKey+"']:first"));
50 }else if($("#box_tab ul li[urlKey='"+newUrlKey+"']").length>0){
51 $("#box_tab ul li.on").removeClass("on");
52 var newTab = $("#box_tab ul li[urlKey='"+newUrlKey+"']:first");
53 newTab.addClass("on").attr("urlKey", urlKey);
54 $("#box_frame iframe:eq("+newTab.index()+")").attr("src", "index.php?u="+url);
55 }else{
56 addTab("\u6b63\u5728\u52a0\u8f7d", urlKey, url);
57 }
58}
59
60//添加标签页
61function addTab(title, urlKey, url) {
62 if(!title) title = '\u65b0\u6807\u7b7e\u9875';
63 if(!urlKey) urlKey = 'my-newtab';
64 if(!url) url = urlKey;
65
66 $("#box_tab ul").width($("#box_tab ul").width()+200);
67 $("#box_tab ul li.on").removeClass("on");
68 $("#box_tab ul").append('<li urlKey='+ urlKey +' title="'+ title +'" class="on"><b>'+ title +'</b><i></i></li>');
69 $("#box_frame iframe:visible").hide();
70 $("#box_frame").append('<iframe src="index.php?u='+ url + getR() +'" frameborder="0" scrolling="yes"></iframe>');
71
72 setUlwidth();
73 if($("#box_tab ul").width() > $("#box_tab").width()) {
74 var valLeft = $("#box_tab").width()-$("#box_tab ul").width();
75 $("#box_tab ul").animate({left: valLeft}, "fast").css("left", valLeft);
76 }
77 setAdder();
78
79 loadEvent();
80}
81
82//加载左部菜单
83function loadMenu(pKey, is) {
84 $(".nav ul li b.x").removeAttr("class");
85 $(".nav ul li[pKey='"+pKey+"'] b").addClass("x");
86
87 $("#menutit").html($(".nav ul li[pKey='"+pKey+"'] b").html());
88 $("#menu").html($(".nav ul li[pKey='"+pKey+"'] dl").html());
89 $("#menu dt").remove();
90
91 if(is == "select") {
92 $("#menu dd.x").removeAttr("class");
93 $("#menu dd[urlKey='"+$("#box_tab ul li.on").attr("urlKey")+"']").addClass("x");
94 }else if(!$("#menu dd").is(".x")) {
95 $("#menu dd:first").addClass("x");
96 oneTab($("#menu dd:first").attr("urlKey"));
97 }
98
99 $("#menu dd").hover(
100 function(){$(this).addClass("on");}, function(){$(this).removeClass("on");}
101 ).click(function(){
102 $("#menu dd").removeAttr("class");
103 $(this).addClass("x");
104 oneTab($(this).attr("urlKey"));
105 });
106}
107
108//===========================================================
109//设置Ulwidth宽度
110function setUlwidth() {
111 var wUl=0;
112 for(var j=0; j<$("#box_tab ul li").length; j++) wUl += $("#box_tab ul li:eq("+j+")").width();
113 $("#box_tab ul").width(wUl).attr("W",wUl);
114 plusUlwidth();
115}
116
117//宽度递归加1
118function plusUlwidth() {
119 while($("#box_tab ul").height() > 27) $("#box_tab ul").width($("#box_tab ul").width()+1);
120}
121
122//设置Adder位置
123function setAdder(){
124 if($("#box_tab ul").width() > $("#box_tab").width()) {
125 $("#leftbtn:hidden,#rightbtn:hidden").show();
126 if($("#adder").position().left != $("#box_tab").width()+35) $("#adder").css("left", $("#box_tab").width()+35);
127 }else{
128 $("#leftbtn:visible,#rightbtn:visible").hide();
129 var valLeft = $("#box_tab ul li:last").width() ? $("#box_tab ul li:last").offset().left + $("#box_tab ul li:last").width() : 167;
130 $("#adder").offset({left: valLeft });
131 }
132}
133//==========================================================
134
135//加载事件
136function loadEvent() {
137 $("#box_tab ul li:last").click(function(){onTab($(this))});
138 $("#box_tab ul li i:last,#box_tab ul li b:last").hover(function(){$(this).addClass("on")},function(){$(this).removeAttr("class")});
139 $("#box_tab ul li i:last").click(function(){
140 var obj = $(this).parent();
141 rmTab($("#box_tab ul li").index(obj));
142 });
143}
144
145//选择标签
146function onTab(obj) {
147 $("#box_tab ul li.on").removeClass("on");
148 obj.addClass("on");
149 $("#box_place").html(obj.attr("place"));
150
151 $("#box_frame iframe").hide();
152 $("#box_frame iframe").eq($("#box_tab ul li").index(obj)).show();
153
154 setUlwidth();
155 var thisLeft = obj.offset().left;
156 var endLeft = 167+$("#box_tab").width()-obj.width();
157 var valLeft = (thisLeft<167) ? $("#box_tab ul").position().left+(167-thisLeft) : ((thisLeft>endLeft ? $("#box_tab ul").position().left-(thisLeft-endLeft) : "no"));
158 if(valLeft != "no") $("#box_tab ul").animate({left: valLeft}, "fast").css("left", valLeft);
159 setAdder();
160 loadMenu(obj.attr("pKey"), "select");
161}
162
163//删除标签页
164function rmTab(i) {
165 var obj = $("#box_tab ul li").eq(i);
166 if(obj.is(".on")) {
167 var eqOn = $("#box_tab ul li").eq(i+1).html() != undefined ? i+1 : i-1;
168 $("#box_tab ul li").eq(eqOn).addClass("on");
169 $("#box_frame iframe").eq(eqOn).show();
170 }
171
172 obj.remove();
173 $("#box_frame iframe").eq(i).remove();
174
175 setUlwidth();
176 if($("#box_tab ul").width() > $("#box_tab").width()) {
177 if($("#box_tab ul li:last").offset().left < 167+$("#box_tab").width()-$("#box_tab ul li:last").width()) {
178 var leftVal = $("#box_tab").width()-$("#box_tab ul").width();
179 $("#box_tab ul").animate({"left": leftVal}, "fast").css("left",leftVal);
180 }
181 }else{
182 $("#box_tab ul").animate({left: 0}, "fast").css("left",0);
183 }
184 setAdder();
185 loadMenu($("#box_tab ul li.on").attr("pKey"), "select");
186 if($("#box_tab ul li").length<1) loadMenu("my");
187}
188
189//删除其他
190function delsTab(){
191 $("#box_tab ul li[class!='on']").remove();
192 $("#box_frame iframe:hidden").remove();
193
194 $("#box_tab ul").css("left", 0).width("auto");
195 setAdder();
196}
197
198//左移动
199function leftTab() {
200 var vLeft = $("#box_tab ul").position().left+($("#box_tab").width()-200);
201 $("#box_tab ul").css("left", vLeft>=0 ? 0 : vLeft);
202
203 for(var i=0; i<$("#box_tab ul li").length; i++) {
204 if($("#box_tab ul li").eq(i).offset().left >= 167-$("#box_tab ul li").eq(i).width()) {
205 vLeft = $("#box_tab ul").position().left+(167-$("#box_tab ul li").eq(i).offset().left);
206 $("#box_tab ul").animate({left: vLeft>=0 ? 0 : vLeft}, "fast");
207 break;
208 }
209 }
210}
211
212//右移动
213function rightTab() {
214 var widthMax = $("#box_tab").width();
215 var ulWidth = $("#box_tab ul").width();
216 var vLeft = $("#box_tab ul").position().left-(widthMax-200);
217 $("#box_tab ul").css("left", vLeft<=widthMax-ulWidth ? widthMax-ulWidth : vLeft);
218
219 for(var i=0; i<$("#box_tab ul li").length; i++) {
220 if($("#box_tab ul li").eq(i).offset().left >= 167+widthMax-$("#box_tab ul li").eq(i).width()) {
221 vLeft = $("#box_tab ul").position().left-($("#box_tab ul li").eq(i).offset().left-(167+widthMax-$("#box_tab ul li").eq(i).width()));
222 $("#box_tab ul").animate({left: vLeft<=widthMax-ulWidth ? widthMax-ulWidth : vLeft}, "fast");
223 break;
224 }
225 }
226}
227
228//改变窗口时设置
229function windowTab() {
230 if($("#box_tab ul").width() > $("#box_tab").width()) {
231 $("#box_tab ul").css("left", $("#box_tab").width()-$("#box_tab ul").width());
232 }else{
233 $("#box_tab ul").css("left", 0);
234 }
235 setAdder();
236}
237
238//解决IE下缓存问题
239function getR() {
240 return "&r="+(new Date).getTime();
241}
242