(Created page with "{{NYMU-sheet}} {{NYMU-Taipei}} <html> <style> body{ background-color:#FFFFFF; } #type{ z-index:1; position:absolute; width:100%; background-color:#FFFFFF; top:250px;...") |
|||
Line 6: | Line 6: | ||
<style> | <style> | ||
− | + | #vertical_menu | |
− | background-color:# | + | { |
+ | font-family:Arial,微軟正黑體,新細明體; | ||
+ | font-size:13px; | ||
+ | width:230px; | ||
+ | position:fixed; | ||
+ | z-index:100; | ||
+ | margin-left:1000px; | ||
+ | height:1000px; | ||
+ | background-color:#CCFF00; | ||
+ | |||
+ | } | ||
+ | |||
+ | #vertical_menu span | ||
+ | { | ||
+ | display:block; | ||
+ | padding:0.3em 0.5em; | ||
+ | background:url(bg.png); | ||
+ | } | ||
+ | |||
+ | #vertical_menu ol {margin:0px;padding:0px;} | ||
+ | #vertical_menu ol li | ||
+ | { | ||
+ | list-style:none; | ||
+ | margin:0px; | ||
+ | background-color:#333; | ||
+ | color:#FFF; | ||
+ | } | ||
+ | |||
+ | |||
+ | #vertical_menu ul.collapsed,#vertical_menu ul.expand | ||
+ | { | ||
+ | margin:0px; | ||
+ | width:230px; | ||
+ | } | ||
+ | |||
+ | #vertical_menu ul.collapsed | ||
+ | { | ||
+ | height:0px; | ||
+ | overflow: hidden; | ||
+ | padding:0px; | ||
+ | margin:0px; | ||
+ | *position:relative; | ||
+ | background-color:#DE1072; | ||
} | } | ||
− | # | + | #vertical_menu ul.expand |
− | + | { | |
− | + | overflow: hidden; | |
− | + | padding:0px; | |
− | + | margin:0px; | |
− | + | *position:relative; | |
+ | background-color:#DE1072; | ||
} | } | ||
− | # | + | #vertical_menu ul.collapsed li, |
− | + | #vertical_menu ul.expand li | |
− | + | { | |
− | + | display:block; | |
− | + | background-color:#DE1072; | |
+ | } | ||
+ | |||
+ | #vertical_menu ul.collapsed a, | ||
+ | #vertical_menu ul.collapsed a:link, | ||
+ | #vertical_menu ul.collapsed a:visited, | ||
+ | #vertical_menu ul.expand a, | ||
+ | #vertical_menu ul.expand a:link, | ||
+ | #vertical_menu ul.expand a:visited | ||
+ | { | ||
+ | color:#FFF; | ||
+ | display:block; | ||
+ | padding:0.3em 0.5em; | ||
+ | text-decoration:none; | ||
+ | } | ||
+ | |||
+ | #vertical_menu ul.collapsed a:hover, | ||
+ | #vertical_menu ul.expand a:hover | ||
+ | { | ||
+ | color:#000; | ||
+ | display:block; | ||
+ | background-color:#AAA; | ||
+ | padding:0.3em 0.5em; | ||
+ | text-decoration:none; | ||
+ | } | ||
+ | |||
+ | </style> | ||
+ | |||
+ | <script> | ||
+ | |||
+ | var bVer=parseInt(navigator.appVersion); | ||
+ | var bName=navigator.appName.toLowerCase(); | ||
+ | var _agent=navigator.userAgent.toLowerCase(); | ||
+ | |||
+ | _slideMenu_ie6 = (_agent.indexOf("msie 6.0") != -1); | ||
+ | _slideMenu_ie7 = (_agent.indexOf("msie 7.0") != -1); | ||
+ | |||
+ | _slideMenu_isIE = (_slideMenu_ie6 || _slideMenu_ie7); | ||
+ | |||
+ | function slideMenu(id){ | ||
+ | this.id=id; | ||
+ | this.menu=document.getElementById(id); | ||
+ | this.submenu=this.menu.getElementsByTagName("span"); | ||
+ | this.speed=3; | ||
+ | this.delay=30; | ||
+ | this.onloadFuns=window.onload; | ||
} | } | ||
− | . | + | slideMenu.prototype.init=function(){ |
− | + | var pointer=this, a, c; | |
− | + | ||
− | + | for(var i=0; i<this.submenu.length; i++) { | |
− | + | eval('this.submenu['+i+'].'+this.handler+'=function(){pointer.collapseOther(this.parentNode);pointer.slide(this.parentNode);}'); | |
− | + | } | |
+ | |||
+ | if (this.autoexpand){ | ||
+ | window.onload=function(){ | ||
+ | if(pointer.onloadFuns!=null && typeof pointer.onloadFuns=='function') { | ||
+ | pointer.onloadFuns(); | ||
+ | } | ||
+ | pointer.highlight(); | ||
+ | } | ||
+ | } | ||
} | } | ||
− | + | slideMenu.prototype.highlight=function(){ | |
− | + | var currentLink=(_slideMenu_isIE)?window.location.toString().toLowerCase():window.location.pathname.toString().toLowerCase(); | |
− | + | var alink=document.getElementById(this.id).getElementsByTagName('a'); | |
− | + | for (var i=0;i<alink.length;i++){ | |
− | + | var path=alink[i].getAttribute('href').toLowerCase(); | |
+ | if (!/\//.test(path)){ | ||
+ | var currentLink=currentLink.substring(currentLink.lastIndexOf('/')+1,currentLink.length); | ||
+ | } | ||
+ | if (path==currentLink){ | ||
+ | alink[i].className=this.currentStyle; | ||
+ | alink[i].parentNode.className=this.currentStyle; | ||
+ | this.expandMenu(alink[i].parentNode.parentNode); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
} | } | ||
− | + | slideMenu.prototype.slide=function(submenu){ | |
− | + | var smenu=submenu.getElementsByTagName('ul')[0]; | |
+ | if (typeof smenu=='undefined'){ | ||
+ | this.collapseOther(); | ||
+ | }else{ | ||
+ | if (smenu.className=='collapsed'){ | ||
+ | this.expandMenu(smenu); | ||
+ | } | ||
+ | if (smenu.className=='expand'){ | ||
+ | this.collapseMenu(smenu); | ||
+ | } | ||
+ | } | ||
} | } | ||
− | < | + | slideMenu.prototype.expandMenu=function(submenu){ |
+ | var cHeight=0; | ||
+ | var cHeight_pre=cHeight; | ||
+ | var li=submenu.getElementsByTagName("li"); | ||
+ | for (var i=0;i<li.length;i++){ | ||
+ | cHeight+=li[i].offsetHeight; | ||
+ | } | ||
− | + | var slideBy=Math.round(this.speed*li.length); | |
− | < | + | var pointer=this; |
+ | var interval=setInterval(function() { | ||
+ | var newHeight=submenu.offsetHeight+slideBy; | ||
+ | if (newHeight<cHeight){ | ||
+ | submenu.style.height=newHeight+'px'; | ||
+ | }else { | ||
+ | clearInterval(interval); | ||
+ | submenu.style.height=cHeight+'px'; | ||
+ | submenu.className='expand'; | ||
+ | pointer.collapseOther(submenu); | ||
+ | } | ||
+ | }, pointer.delay); | ||
+ | } | ||
− | |||
− | + | slideMenu.prototype.collapseMenu=function(submenu){ | |
− | + | var cHeight=0; | |
− | + | var li=submenu.getElementsByTagName("li"); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | |||
+ | var slideBy=Math.round(this.speed*li.length); | ||
+ | var delay=Math.max(Math.round(this.delay/li.length),1); | ||
+ | |||
+ | var pointer=this; | ||
+ | var interval=setInterval(function() { | ||
+ | var newHeight=submenu.offsetHeight-slideBy; | ||
+ | if (newHeight>cHeight){ | ||
+ | submenu.style.height=newHeight+'px'; | ||
+ | }else { | ||
+ | clearInterval(interval); | ||
+ | submenu.style.height=cHeight+'px'; | ||
+ | submenu.className='collapsed'; | ||
+ | } | ||
+ | }, delay); | ||
+ | } | ||
+ | |||
+ | slideMenu.prototype.collapseOther=function(submenu){ | ||
+ | var smenu; | ||
+ | for (var i=0;i< this.submenu.length;i++){ | ||
+ | smenu=this.submenu[i].parentNode.getElementsByTagName('ul')[0]; | ||
+ | if (typeof smenu!='undefined'){ | ||
+ | if (smenu!=submenu && smenu.className=='expand'){ | ||
+ | this.collapseMenu(smenu); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | function expandCurrentLink(){ | ||
+ | var currentLink=(_slideMenu_isIE)?window.location.toString().toLowerCase():window.location.pathname.toString().toLowerCase(); | ||
+ | var alink=document.getElementById(_slideMenu_ID).getElementsByTagName('a'); | ||
+ | for (var i=0;i<alink.length;i++){ | ||
+ | if (alink[i].getAttribute('href').toLowerCase()==currentLink){ | ||
+ | alink[i].parentNode.className='current'; | ||
+ | _slideMenu_ID.expandMenu(alink[i].parentNode.parentNode); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // JavaScript Document | ||
+ | function addEvent(obj, evType, fn){ | ||
+ | if (obj.addEventListener){ | ||
+ | obj.addEventListener(evType, fn, false); | ||
+ | return true; | ||
+ | } else if (obj.attachEvent){ | ||
+ | var r = obj.attachEvent("on"+evType, fn); | ||
+ | return r; | ||
+ | } else { | ||
+ | return false; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </script> | ||
+ | |||
+ | <body> | ||
+ | |||
+ | <div id="vertical_menu"> | ||
+ | <ol> | ||
+ | <li><img src="https://image.freepik.com/free-icon/xbox-logo_318-53731.png" width="200px" height="200px"/> | ||
+ | <ul class="collapsed"> | ||
+ | <li><a href="#">Link 1</a></li> | ||
+ | <li><a href="#">Link 2</a></li> | ||
+ | <li><a href="#">Link 3</a></li> | ||
+ | <li><a href="#">Link 4</a></li> | ||
+ | <li><a href="#">Link 5</a></li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ol> | ||
+ | <ol> | ||
+ | <li><span>Main 1</span> | ||
+ | <ul class="collapsed"> | ||
+ | <li><a href="#">Link 1</a></li> | ||
+ | <li><a href="#">Link 2</a></li> | ||
+ | <li><a href="#">Link 3</a></li> | ||
+ | <li><a href="#">Link 4</a></li> | ||
+ | <li><a href="#">Link 5</a></li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ol> | ||
+ | <ol> | ||
+ | <li><span>Main 1</span> | ||
+ | <ul class="collapsed"> | ||
+ | <li><a href="#">Link 1</a></li> | ||
+ | <li><a href="#">Link 2</a></li> | ||
+ | <li><a href="#">Link 3</a></li> | ||
+ | <li><a href="#">Link 4</a></li> | ||
+ | <li><a href="#">Link 5</a></li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ol> | ||
</div> | </div> | ||
+ | <style type="text/css"> | ||
+ | .highlight {background-color:#000;color:#ccc} | ||
+ | .highlight a {background-color:#000;color:#ccc} | ||
+ | </style> | ||
+ | <script type="text/javascript"> | ||
+ | var vertical_menu=new slideMenu('vertical_menu'); | ||
+ | vertical_menu.handler='onclick'; | ||
+ | //設定要不要自動展開 | ||
+ | vertical_menu.autoexpand=true; | ||
+ | //作用中連結樣式 | ||
+ | vertical_menu.currentStyle='highlight'; | ||
+ | vertical_menu.init(); | ||
+ | </script> | ||
+ | |||
+ | <p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p><p>menu</p> | ||
+ | |||
+ | </body> | ||
<html/> | <html/> |
Revision as of 17:35, 18 September 2016
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu
menu