• 文字广告位
  • 文字广告位
  • 文字广告位
您现在的位置: 站长手册 >> 特效代码 >> 导航类 >> 正文
站内搜索
Google
[图文]扩展性很强的树形导航菜单
        ★★★   

扩展性很强的树形导航菜单

雅虎收藏夹 百度收藏 Google书签 Yahoo书签 新浪ViVi 搜狐网摘 365Key网摘 天极网摘 diglog 和讯网摘 POCO网摘 YouNote网摘 博拉网 天下图摘 Del.icio.us digg reddit spurl BlinkList blogmarks
人气: 来源:本站原创 作者:佚名 所属栏目:导航类 [切换到繁體中文]
介绍:可以收起和展开的树形菜单,过程还有滑动效果,扩展性强。

演示:

[Ctrl+A全选 提示:你可先修改部分代码,再按运行]

下面教你如何应用此特效: 
 --------------------------------------------------------------------------------------
  需要在<body 这里>加入的代码:
 --------------------------------------------------------------------------------------
以下代码加到<head>…</head>中
以下代码加到<body>…</body>中
<style>     
  ie\:tree   {display:   block;}     
  ie\:treeitem   {font-weight:   expression(this.children.length   >   1   ?   'bold'   :   'normal');     
  border-top:   2px     
  solid   white;display:   block;   margin-left:   50px;   visibility:   inherit;   overflow:     
  hidden;   width:   100%}     
  ie\:label   {display:   inline;   cursor:   hand}     
  </style>
<h3>可以拖动的tree</h3>     
  <ie:tree   id=TheTree>     
  <ie:treeitem><ie:label   id=Label1>1.0   First   Set</ie:label>     
  <ie:treeitem><ie:label>1.1   Megalosaurus</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>1.2   Iguanodon</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>1.3   Hylaeosaurus</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>1.4   Tyrannosaurus   rex</ie:label></ie:treeitem>     
  </ie:treeitem>     
  <ie:treeitem><ie:label>2.0   Later   Set</ie:label>     
  <ie:treeitem><ie:label>2.1   Mammoths</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.2   Mastodons</ie:label>     
  <ie:treeitem><ie:label>2.2.1   Plesiosaurs</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.2.2   Ichthyosaurs</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.2.3   Dimetrodon   </ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.2.4   Sinapsid</ie:label></ie:treeitem>     
  </ie:treeitem>     
  <ie:treeitem><ie:label>2.3   Stegosaurus</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.4   Apatosaurus</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.5   Mammals</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.6   Tetrapods</ie:label>sdfsdf     
  <ie:treeitem><ie:label><a href="http://www.m.com" target="_blank">2.6.1   Amphibians</a></ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.6.2   Whales</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.6.3   Crocodiles</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.6.4   Sea   Turtles</ie:label></ie:treeitem>     
  </ie:treeitem>     
  <ie:treeitem><ie:label>2.7   Late   Permian</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>2.8   Mesozoic</ie:label></ie:treeitem>     
  </ie:treeitem>     
  <ie:treeitem><ie:label>3.0   Archosaurs</ie:label>     
  <ie:treeitem><ie:label>3.1   Mandibular   fenestra</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>3.2   Pointed   Snout</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>3.3   Theocodant   Tooth   Implantation</ie:label></ie:treeitem>     
  <ie:treeitem><ie:label>3.4   Modified   Ankle</ie:label></ie:treeitem>     
  </ie:treeitem>     
  <ie:treeitem><ie:label>4.0   Mesozoic</ie:label>     
  <ie:treeitem><ie:label>4.1   Middle   Animals</ie:label>   
  <ie:treeitem><ie:label>4.1.1   add</ie:label>   
  <ie:treeitem><ie:label>4.1.1.1   add</ie:label></ie:treeitem>   
  <ie:treeitem><ie:label>4.1.1.2   add</ie:label>   
  </ie:treeitem>     
  </ie:treeitem>     
  </ie:treeitem>     
  </ie:tree>     
  <script>     
  //   variables   for   drag/drop     
  var   dragElement   =   null;     
  var   dropElement   =   null;     
  var   currOver   =   null;     
    
  //   variables   for   expanding/collapsing     
  var   flyCount   =   5;     
  var   msecs   =   5;     
  var   currCount   =   0;     
    
  //   event   handler   hookup     
  TheTree.onmousedown   =   preselect;     
  TheTree.ondragstart   =   dragstart;     
  TheTree.ondragend   =   dragend;     
  TheTree.ondragenter   =   dragover;     
  TheTree.ondragover   =   dragover;     
  TheTree.ondragend   =   dragend;     
  TheTree.ondrop   =   dragdrop;     
  document.onclick   =   click;     
    
  //   drag/drop   code     
    
  //   method   called   as   we   start   drag/drop     
  function   dragstart()   {     
  var   e;     
  e   =   window.event.srcElement;     
  if   (e.tagName   !=   "label")     
  return   false;     
    
  dragElement   =   e.parentElement;     
  }     
    
  //   called   as   we   mouse   over   -   note   that   there   is   special   handling   for   dragover   code     
  //   as   dragleave   doesn't   track   the   toElement/fromElement   as   mouseover/mouseout   does     
  function   dragover()   {     
  if   (window.event.srcElement.tagName   !=   "treeitem")     
  return;     
    
  if   (!dragElement.contains(window.event.srcElement))   {     
  if   (currOver)   {     
  currOver.style.borderTopColor   =   "";     
  }     
  currOver   =   window.event.srcElement;     
  window.event.srcElement.style.borderTopColor   =   "black";     
  event.returnValue   =   false;     
  }     
  }     
    
  //   called   when   drag   is   ended   -   always     
  function   dragend()   {     
  if   (currOver)   {     
  currOver.style.borderTopColor   =   "";     
  }     
  }     
    
  //   called   on   drop     
  function   dragdrop()   {     
  if   (currOver)   {     
  currOver.style.borderTopColor   =   "";     
  }     
  t   =   currOver;     
  t.parentElement.insertBefore(dragElement,   t);     
  }     
    
  //   needed   to   select   items   so   they   can   be   dragged     
  //   drag   drop   only   supported   on   selection   and   images     
  function   preselect()   {     
  var   e;     
    
  e   =   window.event.srcElement;     
  if   (e.tagName   !=   "label")   {     
  return;     
  }     
  r   =   document.body.createTextRange();     
  r.moveToElementText(e);     
  r.select();     
  window.event.cancelBubble   =   true;     
  }     
    
  //   beginning   of   expand/collapse   code     
    
  //   called   to   handle   document   click,   starts   toggling     
  function   click()   {     
  if   (window.event.srcElement.tagName   !=   "label")   {     
  return;     
  }     
  if   (window.event.srcElement.parentElement.children.length   >   1)   {     
  toggleState(window.event.srcElement.parentElement);     
  }     
  }     
    
  //   toggles   expanding/collapse   state   of   an   element   -   does   setup     
  function   toggleState(e)   {     
  e.oHeight   =   e.scrollHeight   +   2;     
  e.style.posHeight   =   e.offsetHeight;     
    
  if   (e.scrollHeight   >=   e.offsetHeight)   {     
  growIt(e);     
  }   else   {     
  shrinkIt(e);     
  }     
  }     
    
  //   called   to   initiate   growing   an   element     
  function   growIt(e)   {     
  currCount   =   0;     
    
  window.setTimeout("doGrow("   +   e.uniqueID   +   ");",   msecs);     
  }     
    
  //   called   to   initiate   shrinking   an   element     
  function   shrinkIt(e)   {     
  currCount   =   0;     
  window.setTimeout("doShrink("   +   e.uniqueID   +   ");",   msecs);     
  }     
    
  //   inner   loop   for   growing   an   object     
  function   doGrow(e)   {     
  var   dh;     
  var   lineHeight   =   e.children[0].offsetHeight;     
    
  currCount++;     
    
  dh   =   e.oHeight   /   flyCount;     
    
    
  if   (e.style.posHeight   !=   e.oHeight)   {     
  e.style.posHeight   +=   dh;     
  }     
    
  if   (currCount   <   flyCount)   {     
  window.setTimeout("doGrow("   +   e.uniqueID   +   ");",   msecs);     
  }     
  else   {     
  e.style.height   =   "";     
  }     
  }     
    
  //   inner   loop   for   shrinking   an   object     
  function   doShrink(e)   {     
  var   dh,   dw;     
  var   lineHeight   =   e.children[0].offsetHeight;     
  var   p;     
    
  currCount++;     
    
  dh   =   (e.oHeight   -   lineHeight)   /   flyCount;     
    
  e.style.posHeight   -=   dh;     
    
  if   (currCount   <   flyCount)   {     
  window.setTimeout("doShrink("   +   e.uniqueID   +   ");",   msecs);     
  }     
  else   {     
  e.style.posHeight   =   lineHeight;     
  }     
  }     
  </script>
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
姓 名: *(必填项) ·注册用户·
Email: QQ号:
评 分: 1分 2分 3分 4分 5分
  • 您可以发表评论支持你喜欢的文章。
  • 请遵守《互联网电子公告服务管理规定》
  • 请遵守中华人民共和国各项有关法律法规。
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 评论人需对自己在使用评论过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表个人观点,与本网站立场无关。
站内特效搜索
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | | 京ICP备 05004866号 |
版权所有 2007-2008 站长手册 WWW.ZZSC.ORG 业务联系 zzsc.org#gmail.com