⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmark.js

📁 Ajax基础入门宝典
💻 JS
📖 第 1 页 / 共 2 页
字号:

//-------------------------------------------------------------------------------

// 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 + -