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

📄 ctocwidget.js

📁 jboss规则引擎
💻 JS
字号:
/* * CTOCWidget.js * $Revision: 1.3 $ $Date: 2003/07/14 06:02:50 $ *//* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Netscape code. * * The Initial Developer of the Original Code is * Netscape Corporation. * Portions created by the Initial Developer are Copyright (C) 2003 * the Initial Developer. All Rights Reserved. * * Contributor(s): Bob Clary <bclary@netscape.com> * * ***** END LICENSE BLOCK ***** */function CTOCWidget(domTOCModel, target){  if (domTOCModel.documentElement.nodeName != 'toc')  {    throw 'CTOCWidget called on non toc Document: ' + domTOCModel.nodeName;  }  this.model = domTOCModel;  this.target = target;  this.view = document.createElement('div');  this.view.setAttribute('class', CTOCWidget._classprefix + '_view');  var modelItems = domTOCModel.documentElement.childNodes;  for (var i = 0; i < modelItems.length; i++)  {    var modelItem = modelItems.item(i);    if (modelItem.nodeType == Node.ELEMENT_NODE)    {      var viewItem  = CTOCWidget.createItemView(modelItem, target);      this.view.appendChild(viewItem);    }  }}CTOCWidget._handleImages  = { open: '/toolbox/examples/2003/CTOCWidget/minus.gif', closed: '/toolbox/examples/2003/CTOCWidget/plus.gif', height: '12px', width: '16px'};CTOCWidget._classprefix  = 'CTOCWidget';CTOCWidget.createItemView = function (modelItem, target){  if (modelItem.nodeType != Node.ELEMENT_NODE)  {    throw 'CTOCWidget.createItemView called on non-Element: ' + modelItem.nodeName;  }  var i;  var viewItem = document.createElement('div');  viewItem.setAttribute('class', CTOCWidget._classprefix + '_item');  var viewItemHandle = document.createElement('div');  viewItemHandle.setAttribute('class', CTOCWidget._classprefix + '_itemhandle');  viewItemHandle.style.cursor = 'pointer';  var viewItemHandleImg = document.createElement('img');  viewItemHandleImg.style.height = CTOCWidget._handleImages.height;  viewItemHandleImg.style.width = CTOCWidget._handleImages.width;  viewItemHandleImg.addEventListener('click', CTOCWidget.toggleHandle, false);  var viewItemHandleLink;  if (!modelItem.getAttribute('url'))  {    viewItemHandleLink = document.createElement('span');  }  else   {    viewItemHandleLink = document.createElement('a');    viewItemHandleLink.setAttribute('href', modelItem.getAttribute('url'));    viewItemHandleLink.setAttribute('target', target);  }  viewItemHandleLink.appendChild(document.createTextNode(modelItem.getAttribute('title')));  viewItemHandle.appendChild(viewItemHandleImg);  viewItemHandle.appendChild(viewItemHandleLink);  viewItem.appendChild(viewItemHandle);  if (modelItem.childNodes.length == 0)  {    viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.open);  }  else  {    viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.closed);    var viewItemChildren = document.createElement('div');    viewItemChildren.setAttribute('class', CTOCWidget._classprefix + '_itemchildren');    viewItemChildren.style.display = 'none';    viewItemChildren.style.position = 'relative';    viewItemChildren.style.left = '1em';    for (i = 0; i < modelItem.childNodes.length; i++)    {      var modelItemChild = modelItem.childNodes.item(i);      if (modelItemChild.nodeType == Node.ELEMENT_NODE)      {        viewItemChildren.appendChild(CTOCWidget.createItemView(modelItemChild, target));      }    }    viewItem.appendChild(viewItemChildren);  }  return viewItem;};// fires on img part of the handleCTOCWidget.toggleHandle = function(e){  switch (e.eventPhase)  {    case Event.CAPTURING_PHASE:    case Event.BUBBLING_PHASE:      return true;        case Event.AT_TARGET:           e.preventBubble();      var domHandle   = e.target.parentNode;      var domChildren = domHandle.nextSibling;      if (!domChildren)      {        return true;      }      switch(domChildren.style.display)      {        case '':        case 'block':          domChildren.style.display = 'none';          e.target.setAttribute('src', CTOCWidget._handleImages.closed);          break;        case 'none':          domChildren.style.display = 'block';          e.target.setAttribute('src', CTOCWidget._handleImages.open);          break;        default:          return false;       }       return true;    default:      dump('Unknown Event Phase ' + e.eventPhase);      break;  }  return true;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -