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

📄 popcond.js

📁 JavaScript编程实例8
💻 JS
📖 第 1 页 / 共 2 页
字号:
/****************************************************
* popcond.js - Condensed version of the dhtmllib.js *
*              and popupmenu.js.                    *
* Copyright 2000 by Mike Hall.                      *
* Web address: http://www.brainjar.com              *
* Last update: August 10, 2000.                     *
****************************************************/
var isMinNS4=(navigator.appName.indexOf("Netscape")>=0&&parseFloat(navigator.appVersion)>=4)?1:0;
var isMinIE4=(document.all)?1:0;
var isMinIE5=(isMinIE4&&navigator.appVersion.indexOf("5.")>=0)?1:0;

function hideLayer(layer)
{
  if(isMinNS4)
    layer.visibility="hide";
  if(isMinIE4)
    layer.style.visibility="hidden";
}

function showLayer(layer)
{
  if(isMinNS4)
    layer.visibility="show";
  if(isMinIE4)
    layer.style.visibility="visible";
}

function inheritLayer(layer)
{
  if(isMinNS4)
    layer.visibility="inherit";
  if(isMinIE4)
    layer.style.visibility="inherit";
}

function getVisibility(layer)
{
  if(isMinNS4)
  {
    if(layer.visibility=="show")
      return "visible";
    if(layer.visibility=="hide")
      return "hidden";
    return layer.visibility;
  }
  if(isMinIE4)
    return layer.style.visibility;
  return "";
}

function moveLayerTo(layer,x,y)
{
  if(isMinNS4)
    layer.moveTo(x,y);
  if(isMinIE4)
  {
    layer.style.left=x;
    layer.style.top=y;
  }
}

function moveLayerBy(layer,dx,dy)
{
  if(isMinNS4)
    layer.moveBy(dx,dy);
  if(isMinIE4)
  {
    layer.style.pixelLeft+=dx;
    layer.style.pixelTop+=dy;
  }
}

function getLeft(layer)
{
  if(isMinNS4)
    return layer.left;
  if(isMinIE4)
    return layer.style.pixelLeft;
  return-1;
}

function getTop(layer)
{
  if(isMinNS4)
    return layer.top;
  if(isMinIE4)
    return layer.style.pixelTop;
  return-1;
}

function getRight(layer)
{
  if(isMinNS4)
    return layer.left+getWidth(layer);
  if(isMinIE4)
    return layer.style.pixelLeft+getWidth(layer);
  return-1;
}

function getBottom(layer)
{
  if(isMinNS4)
    return layer.top+getHeight(layer);
  if(isMinIE4)
    return layer.style.pixelTop+getHeight(layer);
  return-1;
}

function getPageLeft(layer)
{
  var x;
  if(isMinNS4)
    return layer.pageX;
  if(isMinIE4)
  {
    x=0;
    while(layer.offsetParent!=null)
    {
      x+=layer.offsetLeft;
      layer=layer.offsetParent;
    }
    x+=layer.offsetLeft;
    return x;
  }
  return-1;
}

function getPageTop(layer)
{
  var y;
  if(isMinNS4)
    return layer.pageY;
  if(isMinIE4)
  {
    y=0;
    while(layer.offsetParent!=null)
    {
      y+=layer.offsetTop;
      layer=layer.offsetParent;
    }
    y+=layer.offsetTop;
    return y;
  }
  return-1;
}

function getWidth(layer)
{
  if(isMinNS4)
  {
    if(layer.document.width)
      return layer.document.width;
    else return layer.clip.right-layer.clip.left;
  }
  if(isMinIE4)
  {
    if(layer.style.pixelWidth)
      return layer.style.pixelWidth;
    else return layer.clientWidth;
  }
  return-1;
}

function getHeight(layer)
{
  if(isMinNS4)
  {
    if(layer.document.height)
      return layer.document.height;
    else return layer.clip.bottom-layer.clip.top;
  }
  if(isMinIE4)
  {
    if(layer.style.pixelHeight)
      return layer.style.pixelHeight;
    else return layer.clientHeight;
  }
  return-1;
}

function getzIndex(layer)
{
  if(isMinNS4)
    return layer.zIndex;
  if(isMinIE4)
    return layer.style.zIndex;
  return-1;
}

function setzIndex(layer,z)
{
  if(isMinNS4)
    layer.zIndex=z;
  if(isMinIE4)
    layer.style.zIndex=z;
}

function clipLayer(layer,clipleft,cliptop,clipright,clipbottom)
{
  if(isMinNS4)
  {
    layer.clip.left=clipleft;
    layer.clip.top=cliptop;
    layer.clip.right=clipright;
    layer.clip.bottom=clipbottom;
  }
  if(isMinIE4)
    layer.style.clip='rect('+cliptop+' '+clipright+' '+clipbottom+' '+clipleft+')';
}

function getClipLeft(layer)
{
  if(isMinNS4)
    return layer.clip.left;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return 0;
    var clip=getIEClipValues(layer.style.clip);
    return(clip[3]);
  }
  return-1;
}

function getClipTop(layer)
{
  if(isMinNS4)
    return layer.clip.top;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return 0;
    var clip=getIEClipValues(layer.style.clip);
    return clip[0];
  }
  return-1;
}

function getClipRight(layer)
{
  if(isMinNS4)
    return layer.clip.right;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return layer.style.pixelWidth;
    var clip=getIEClipValues(layer.style.clip);
    return clip[1];
  }
  return-1;
}

function getClipBottom(layer)
{
  if(isMinNS4)
    return layer.clip.bottom;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return layer.style.pixelHeight;
    var clip=getIEClipValues(layer.style.clip);
    return clip[2];
  }
  return-1;
}

function getClipWidth(layer)
{
  if(isMinNS4)
    return layer.clip.width;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return layer.style.pixelWidth;
    var clip=getIEClipValues(layer.style.clip);
    return clip[1]-clip[3];
  }
  return-1;
}

function getClipHeight(layer)
{
  if(isMinNS4)
    return layer.clip.height;
  if(isMinIE4)
  {
    var str=layer.style.clip;
    if(!str)
      return layer.style.pixelHeight;
    var clip=getIEClipValues(layer.style.clip);
    return clip[2]-clip[0];
  }
  return-1;
}

function getIEClipValues(str)
{
  var clip=new Array();
  var i;
  i=str.indexOf("(");
  clip[0]=parseInt(str.substring(i+1,str.length),10);
  i=str.indexOf(" ",i+1);
  clip[1]=parseInt(str.substring(i+1,str.length),10);
  i=str.indexOf(" ",i+1);
  clip[2]=parseInt(str.substring(i+1,str.length),10);
  i=str.indexOf(" ",i+1);
  clip[3]=parseInt(str.substring(i+1,str.length),10);
  return clip;
}

function scrollLayerTo(layer,x,y,bound)
{
  var dx=getClipLeft(layer)-x;
  var dy=getClipTop(layer)-y;
  scrollLayerBy(layer,-dx,-dy,bound);
}

function scrollLayerBy(layer,dx,dy,bound)
{
  var cl=getClipLeft(layer);
  var ct=getClipTop(layer);
  var cr=getClipRight(layer);
  var cb=getClipBottom(layer);
  if(bound)
  {
    if(cl+dx<0)
      dx=-cl;
    else if(cr+dx>getWidth(layer))
      dx=getWidth(layer)-cr;
    if(ct+dy<0)
      dy=-ct;
    else if(cb+dy>getHeight(layer))
      dy=getHeight(layer)-cb;
  }
  clipLayer(layer,cl+dx,ct+dy,cr+dx,cb+dy);
  moveLayerBy(layer,-dx,-dy);
}

function setBgColor(layer,color)
{
  if(isMinNS4)
    layer.bgColor=color;
  if(isMinIE4)
    layer.style.backgroundColor=color;
}

function setBgImage(layer,src)
{
  if(isMinNS4)
    layer.background.src=src;
  if(isMinIE4)
    layer.style.backgroundImage="url("+src+")";
}

function getLayer(name)
{
  if(isMinNS4)
    return findLayer(name,document);
  if(isMinIE4)
    return eval('document.all.'+name);
  return null;
}

function findLayer(name,doc)
{
  var i,layer;
  for(i=0;i<doc.layers.length;i++)
  {
    layer=doc.layers[i];
    if(layer.name==name)
      return layer;
    if(layer.document.layers.length>0)
      if((layer=findLayer(name,layer.document))!=null)
        return layer;
  }
  return null;
}

function getImage(name)
{
  if(isMinNS4)
  {
    return findImage(name,document);
  }
  if(isMinIE4)
    return eval('document.all.'+name);
  return null;
}

function findImage(name,doc)
{
  var i,img;
  for(i=0;i<doc.images.length;i++)
    if(doc.images[i].name==name)
      return doc.images[i];
  for(i=0;i<doc.layers.length;i++)
    if((img=findImage(name,doc.layers[i].document))!=null)
    {
      img.container=doc.layers[i];
      return img;
    }
  return null;
}

function getImagePageLeft(img)
{
  var x,obj;
  if(isMinNS4)
  { 
    if(img.container!=null)
      return img.container.pageX+img.x;
    else return img.x;
  }
  if(isMinIE4)
  {
    x=0;
    obj=img;
    while(obj.offsetParent!=null)
    {
      x+=obj.offsetLeft;
      obj=obj.offsetParent;
    }
    x+=obj.offsetLeft;
    return x;
  }
  return-1;
}

function getImagePageTop(img)
{
  var y,obj;
  if(isMinNS4)
  {
    if(img.container!=null)
      return img.container.pageY+img.y;
    else return img.y;
  }
  if(isMinIE4)
  {
    y=0;
    obj=img;
    while(obj.offsetParent!=null)
    {
      y+=obj.offsetTop;
      obj=obj.offsetParent;
    }
    y+=obj.offsetTop;
    return y;
  }
  return-1;
}

function getWindowWidth()
{
  if(isMinNS4)
    return window.innerWidth;
  if(isMinIE4)
    return document.body.clientWidth;
  return-1;
}

function getWindowHeight()
{
  if(isMinNS4)
    return window.innerHeight;
  if(isMinIE4)
    return document.body.clientHeight;
  return-1;
}

function getPageWidth()
{
  if(isMinNS4)
    return document.width;
  if(isMinIE4)
    return document.body.scrollWidth;
  return-1;
}

function getPageHeight()
{
  if(isMinNS4)
    return document.height;
  if(isMinIE4)
    return document.body.scrollHeight;
  return-1;
}

function getPageScrollX()
{
  if(isMinNS4)
    return window.pageXOffset;
  if(isMinIE4)
    return document.body.scrollLeft;
  return-1;
}

function getPageScrollY()
{
  if(isMinNS4)
    return window.pageYOffset;
  if(isMinIE4)
    return document.body.scrollTop;
  return-1;
}

var isMinIE5_5=(isMinIE5&&navigator.appVersion.indexOf("5.5")>=0)?1:0;
var popUpMenuScrollbarSize=16;
var popUpMenus=new Array();

function PopUpMenuItem(text,link)
{
  this.text=text;
  this.link=link;
  this.isSeparator=false;
  this.subMenu=null;
}

function PopUpMenu(width)
{
  this.width=width;
  this.height=0;
  this.items=new Array();
  this.created=false;
  this.border=2;
  this.padding=4;
  this.spSize=2;
  this.spPadding=1;
  this.fgColor="#000000";
  this.bgColor="#c0c0c0";
  this.hiFgColor="#ffffff";
  this.hiBgColor="#000080";
  this.bdHiColor="#e0e0e0";
  this.bdShColor="#000000";
  this.spHiColor="#e0e0e0";
  this.spShColor="#808080";
  this.fontFamily="MS Sans Serif,Arial,Helvetica,sans-serif";
  this.fontStyle="plain";
  this.fontWeight="normal";
  this.fontSize="8pt";
  this.noneImage="graphics/transparent.gif";
  this.normImage="graphics/default_norm.gif";
  this.highImage="graphics/default_high.gif";
  this.imageWidth=8;
  this.imageHeight=12;
  this.left=0;this.top=0;
  this.right=this.width;
  this.bottom=this.height;
  this.parentMenu=null;
  this.openChild=null;
  this.offsetX=0;
  this.offsetY=0;
  this.isStatic=false;
  this.isOpen=false;
  this.isSubmenu=false;
  this.setSizes=popUpMenuSetSizes;
  this.setColors=popUpMenuSetColors;

⌨️ 快捷键说明

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