📄 bookmark.js
字号:
//-------------------------------------------------------------------------------
// global variable.
var gNodeList = new Array;
var gCurrImageObj = null;
var gnTOP_POS = 16;
var gnTop = gnTOP_POS;
var gnHiddenTop = gnTOP_POS;
var gsName = "bookmark";
var gBrowser = 0;
var IE = 1; // Internet Explorer 4+
var NN = 2; // Netscape 4.x
var N6 = 3; // Netscape 6.x
var gsTarget = "_blank";
var gBlankImg = new Image;
var gVertLineImg = new Image;
var gNodeImg = new Image;
var gLastNodeImg = new Image;
var gCloseFileImg = new Array;
var gOpenFileImg = new Array;
var gFileImg = new Array;
gCloseFileImg[0] = new Image;
gCloseFileImg[1] = new Image;
gOpenFileImg[0] = new Image;
gOpenFileImg[1] = new Image;
gFileImg[0] = new Image;
gFileImg[1] = new Image;
//-------------------------------------------------------------------------------
function list(sTitle, nDstPage, sURL, nID)
{
this.sTitle = sTitle;
this.nDstPage = nDstPage;
this.bExpanded = false;
this.bShow = false;
this.parent = null;
this.children = new Array;
this.objectID = null;
this.imageID = null;
if(nID)
{
this.sURL = sURL;
this.nID = nID;
}
else
{
// this is for older Magellan generated HTML.
this.sURL = null;
this.nID = sURL;
}
}
//-------------------------------------------------------------------------------
function appendList(parentNode, childNode)
{
childNode.parent = parentNode;
parentNode.children[parentNode.children.length] = childNode;
return childNode;
}
//-------------------------------------------------------------------------------
// this is a recursive function.
function displayList(nodeList, nDepth)
{
var i, j, k;
var parentNode, grandParentNode;
for(i = 0; i < nodeList.length; i++)
{
if(gBrowser == IE || gBrowser == N6 )
{
if(nodeList[i].children.length > 0)
document.write('<span id="node' + nodeList[i].nID + '" style="display:');
else
document.write('<span id="child' + nodeList[i].nID + '" style="display:');
if(nodeList[i].parent != null)
document.write('none">\n');
else
document.write('block">\n');
}
else if(gBrowser == NN)
{
if(nodeList[i].parent == null)
{
nodeList[i].bShow = true;
if(i == 0 && nodeList[i].parent != null)
gnTop = gnTop + nodeList[i].parent.objectID.clip.height;
else if(i > 0)
gnTop = gnTop + nodeList[i - 1].objectID.clip.height;
}
else
nodeList[i].bShow = false;
if(i == 0 && nodeList[i].parent != null)
gnHiddenTop = gnHiddenTop + nodeList[i].parent.objectID.clip.height;
else if(i > 0)
gnHiddenTop = gnHiddenTop + nodeList[i - 1].objectID.clip.height;
if(nodeList[i].children.length > 0)
document.write('<layer id="node');
else
document.write('<layer id="child');
if(nodeList[i].parent != null)
document.write(nodeList[i].nID + '" top=' + gnHiddenTop + ' visibility="hide">\n');
else
document.write(nodeList[i].nID + '" top=' + gnTop + ' visibility="show">\n');
}
document.write('<table border=0 cellspacing=0 cellpadding=0>\n<tr>\n');
document.write('<td valign="middle" nowrap>');
for(j = nDepth - 1; j > 0; j--)
{
parentNode = nodeList[i];
for(k = j; k > 0; k--)
parentNode = parentNode.parent;
grandParentNode = parentNode.parent;
if(grandParentNode.children[grandParentNode.children.length - 1] == parentNode)
document.write('<img src="' + gBlankImg.src + '" border=0>');
else
document.write('<img src="' + gVertLineImg.src + '" border=0>');
}
if(nDepth > 0)
{
if((i + 1) == nodeList.length)
document.write('<img src="' + gLastNodeImg.src + '" border=0>');
else
document.write('<img src="' + gNodeImg.src + '" border=0>');
}
if(nodeList[i].children.length > 0)
{
document.write('<a href="#" onClick="JavaScript:openNode(' + nodeList[i].nID + '); parent.main.focus();return false">');
document.write('<img src="' + gCloseFileImg[0].src + '" border=0 name="image' + nodeList[i].nID + '" ID="image' + nodeList[i].nID + '">');
document.write('</a>');
}
else
document.write('<img src="' + gFileImg[0].src + '" border=0 name="image' + nodeList[i].nID + '">');
document.write('</td><td valign="middle" nowrap>');
if(nodeList[i].nDstPage > -2)
document.write('<a href="#" onClick="JavaScript:openPage(' + nodeList[i].nDstPage + ', document.images.image' + nodeList[i].nID + ');parent.main.focus(); return false">');
else
document.write('<a href="' + nodeList[i].sURL + '" target=' + gsTarget + '>');
document.write('<font size=2 color="blue" face="Helvetica">' + nodeList[i].sTitle + '</font>');
document.write('</a>');
document.write('</td>');
document.write('</tr>\n</table>\n');
if(gBrowser == IE)
{
document.write('</span>\n');
if(nodeList[i].children.length > 0)
nodeList[i].objectID = document.all["node" + nodeList[i].nID];
else
nodeList[i].objectID = document.all["child" + nodeList[i].nID];
nodeList[i].imageID = document.all["image" + nodeList[i].nID];
}
else if(gBrowser == NN)
{
document.write('</layer>\n');
if(nodeList[i].children.length > 0)
nodeList[i].objectID = document.layers["node" + nodeList[i].nID];
else
nodeList[i].objectID = document.layers["child" + nodeList[i].nID];
nodeList[i].imageID = nodeList[i].objectID.document.images[nodeList[i].objectID.document.images.length-1];
}else if( gBrowser == N6)
{
document.write('</span>\n');
if(nodeList[i].children.length > 0)
nodeList[i].objectID = document.getElementById("node" + nodeList[i].nID);
else
nodeList[i].objectID = document.getElementById("child" + nodeList[i].nID);
nodeList[i].imageID = document.getElementById("image" + nodeList[i].nID);
}
if(nodeList[i].children.length > 0)
displayList(nodeList[i].children, nDepth + 1);
}
}
//-------------------------------------------------------------------------------
function openPage(nPageNum, imageObj)
{
if(nPageNum > 0)
{
changeSelectedIcon(imageObj);
parent.nav.openPage2(nPageNum);
parent.main.focus();
}
else
alert("This link has no destination.");
}
//-------------------------------------------------------------------------------
function openNode(nID)
{
var node = searchNode(gNodeList, nID);
if(node == null)
return;
if(node.bExpanded == false)
{
node.bExpanded = true;
expandNode(node.children)
}
else
{
node.bExpanded = false;
shrinkNode(node.children)
}
changeExpandIcon(node.imageID, node.bExpanded);
if(gBrowser == NN)
{
gnTop = gnTOP_POS;
adjustListPos(gNodeList);
}
}
//-------------------------------------------------------------------------------
function expandNode(node)
{
var i;
for(i = 0; i < node.length; i++)
{
if(gBrowser == IE || gBrowser == N6 )
{
if(node[i].objectID.style.display == "none")
if(node[i].parent == null || node[i].parent.bExpanded == true)
node[i].objectID.style.display = "block";
}
else if(gBrowser == NN)
{
if(node[i].bShow == false)
if(node[i].parent != null && node[i].parent.bExpanded == true)
node[i].bShow = true;
}
if(node[i].children.length > 0 && node[i].bExpanded == true)
expandNode(node[i].children);
}
}
//-------------------------------------------------------------------------------
function shrinkNode(node)
{
var i;
for(i = 0; i < node.length; i++)
{
if(gBrowser == IE || gBrowser == N6 )
{
if(node[i].objectID.style.display == "block")
node[i].objectID.style.display = "none";
}
else if(gBrowser == NN)
{
if(node[i].bShow == true)
node[i].bShow = false;
}
if(node[i].children.length > 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -