发信人: ylsdd (s;dlkf), 信区: BBSDev
标 题: 替换nju的function.js文件, 支持ie/ns4/ns6/op6
发信站: 南京大学小百合站 (Tue Jun 11 08:40:09 2002), 站内信件
发信人: ylsdd (不知道), 信区: BBSDev
标 题: 替换nju的function.js文件
发信站: 一塌糊涂 BBS (Sun Jun 9 23:46:31 2002), 本站(ytht.net)
原来的function.js不能在IE之外的其它浏览器上很好运行, 我
重写了一下这部分代码, 就我指导的可以支持IE, NS4.7, NS6,
Opera6, 好象已经有些地方使用了, 不过我还是专门张贴说明
一下吧, 要是其有它重要浏览器版本不兼容请告知. 例子可以
看ytht.net的www页面.
====================================================
先说一下用法. 在bbsleft里面包含js文件, 并且把内容分成若
干div.
对于需要隐藏的选项组, 领导行定义为div id=divNa class=r,
领导行上的图片定义为img id=imgN src=folder.gif, 需要隐藏
的选项组定义div id=divN, class=s. 其中N指一个数字.
不隐藏的选项组定义为div class=r
象这样,
include func.js
- 登录框
- 首页
- 精华区
div id=div0a class=r
img id=img0 src=folder.gif
href 预定讨论区 changemn("0");
/div
div id=div0 class=s
- bbsdoc BBSDev
- bbsdoc triangle
- 预定管理
/div
div id=div1a class=r
img id=img1 src=folder.gif
href 分类讨论区 changemn("1");
/div
div id=div1 class=s
- bbsboa 系统版面
- 同学聚会
/div
div class=r
- Telnet登录
/div
最后在</body>之前放上
<script>if(isNS4) arrange();if(isOP)alarrangeO();</script>
=================================================
下面是func.js的内容,
var isNS4 = false;
var isIE3 = false;
var isGood = false;
var isOP = false;
var wmn='-1';
function Is() {
agent = navigator.userAgent.toLowerCase();
this.major = parseInt(navigator.appVersion);
this.ns = ((agent.indexOf('mozilla') != -1) &&
((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));
this.ns4 = (this.ns && (this.major == 4));
this.ie = (agent.indexOf("msie") != -1);
this.ie3 = (this.ie && (this.major < 4));
this.op = (agent.indexOf("opera") != -1);
if(this.ie3) {
isIE3 = true;
} else if(this.ns4) {
isNS4 = true;
} else if(this.op) {
isOP = true;
} else {
isGood = true;
}
}
function arrangeO() {
var e, y, d=document.getElementsByTagName("div");
y = d[0].style.pixelTop + d[0].style.pixelHeight;
for (i=1; i<d.length; i++) {
e=d[i];
if (e.style.visibility!="hidden") {
if (e.style.pixelTop!=y)
e.style.pixelTop=y;
y=y+e.style.pixelHeight+1;
}
}
}
function alarrangeO()
{
arrangeO();
setTimeout("alarrangeO()", 5000);
}
function arrange() {
var e, y, d=document.layers;
y=d[0].pageY+d[0].document.height;
for (i=1; i<d.length; i++) {
e=d[i];
if(e.visibility != "hide") {
e.pageY = y;
y=y+e.document.height;
}
}
}
function closemn(mn) {
var o=null;
if(isOP){
o=document.getElementById("div"+mn);
if(o==null) return;
o.style.visibility="hidden";
o=document.getElementById("img"+mn);
}else if(isGood){
o=document.getElementById("div"+mn);
if(o==null) return;
o.style.display='none';
o=document.getElementById("img"+mn);
}else if(isNS4){
o = eval("document.layers['div"+mn+"']");
if(o==null) return;
o.visibility = "hide";
o=eval("document.div"+mn+"a.document.images[0]");
}
if(o!=null) o.src='/folder.gif';
}
function openmn(mn) {
var o=null;
if(isOP){
o=document.getElementById("div"+mn);
if(o==null) return;
o.style.visibility="visible";
o=document.getElementById("img"+mn);
}else if(isGood){
o=document.getElementById("div"+mn);
if(o==null) return;
o.style.display="block";
o=document.getElementById("img"+mn);
}else if(isNS4){
o = eval("document.layers['div"+mn+"']");
if(o==null) return;
o.visibility = "show";
o=eval("document.div"+mn+"a.document.images[0]");
}
if(o!=null) o.src='/folder2.gif';
}
function changemn(mn) {
if(wmn==mn){
closemn(mn);
wmn='-1';
}else{
if(wmn!='-1') closemn(wmn);
openmn(mn);
wmn=mn;
}
if(isNS4) arrange();
if(isOP) arrangeO();
}
function openchat()
{ ............
}
function openanother() {
window.top.document.location.href='
http://1999.ytht.net';}
function openreg()
{
open('bbsreg', '', 'width=600,height=460');
}
Is();
with (document) {
write("<STYLE TYPE='text/css'>");
if (isOP) {
write(".s {position:absolute; visibility:hidden}");
write(".r {position:absolute; visibility:visible}")
} else if (isNS4) {
write(".s {position:absolute; visibility:hide}");
write(".r {position:absolute; visibility:show}")
}else {
write(".s {display:none}")
}
write("</STYLE>");
}
if(isNS4) onload=arrange;
if(isOP) onload=arrangeO;
--
FROM 166.111.4.19