您目前尚未登陆,请选择【登陆】或【注册
首页->控件插件->HeroBeastControls的NavMenu导航控件Demo及源码>>NavMenu/Javascript/NavMenu.js>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:HeroBeastControls的NavMenu导航控件Demo及源码


当前文件路径:HeroBeastControlsNavMenu/NavMenu/Javascript/NavMenu.js 文件类型
普通视图
		            
1//NavMenu 2 3function NavMenu(id) { 4 if (!document.getElementById || !document.getElementsByTagName) 5 return false; 6 this.menu = document.getElementById(id); 7 this.submenus = this.menu.getElementsByTagName("div"); 8 this.speed = 4; 9 this.markCurrent= true; 10} 11NavMenu.prototype.init = function() { 12 var mainInstance = this; 13 for (var i = 0; i < this.submenus.length; i++) { 14 this.submenus[i].getElementsByTagName("span")[0].onclick = function() { 15 mainInstance.toggleMenu(this.parentNode); 16 }; 17 } 18 if (this.markCurrent) { 19 var links = this.menu.getElementsByTagName("a"); 20 for (var i = 0; i < links.length; i++) { 21 if (links[i].href == document.location.href) { 22 links[i].className = "current"; 23 break; 24 } 25 links[i].onclick = function() { 26 for (var k = 0; k < links.length; k++) { 27 links[k].className = ""; 28 } 29 this.className = "current"; 30 this.blur(); 31 } 32 } 33 } else { 34 var links = this.menu.getElementsByTagName("a"); 35 for (var i = 0; i < links.length; i++) { 36 links[i].onclick = function() { 37 for (var k = 0; k < links.length; k++) { 38 links[k].className = ""; 39 } 40 this.className = "current"; 41 this.blur(); 42 } 43 } 44 } 45}; 46NavMenu.prototype.toggleMenu = function(submenu) { 47 if (submenu.className == "collapsed") 48 this.expandMenu(submenu); 49 else 50 this.collapseMenu(submenu); 51}; 52NavMenu.prototype.expandMenu = function(submenu) { 53 var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight; 54 var links = submenu.getElementsByTagName("a"); 55 for (var i = 0; i < links.length; i++) 56 fullHeight += links[i].offsetHeight; 57 var moveBy = Math.round(this.speed * links.length); 58 59 var mainInstance = this; 60 var intId = setInterval(function() { 61 var curHeight = submenu.offsetHeight; 62 var newHeight = curHeight + moveBy; 63 if (newHeight < fullHeight) 64 submenu.style.height = newHeight + "px"; 65 else { 66 clearInterval(intId); 67 submenu.style.height = ""; 68 submenu.className = ""; 69 } 70 }, 30); 71 for (var i = 0; i < this.submenus.length; i++) { 72 if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed") { 73 this.collapseMenu(this.submenus[i]); 74 } 75 } 76}; 77NavMenu.prototype.collapseMenu = function(submenu) { 78 var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight; 79 var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length); 80 var mainInstance = this; 81 var intId = setInterval(function() { 82 var curHeight = submenu.offsetHeight; 83 var newHeight = curHeight - moveBy; 84 if (newHeight > minHeight) 85 submenu.style.height = newHeight + "px"; 86 else { 87 clearInterval(intId); 88 submenu.style.height = ""; 89 submenu.className = "collapsed"; 90 } 91 }, 30); 92};
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:HeroBeastControls的NavMenu导航控件Demo及源码

- 唐山促销网(BtoB)源码

- 51aspx修正版简单三层留言板源码

- 母板页(MasterPage)中设置主..

- 鹿茸文章管理系统(Access版)..

- 功能很全asp.net图片水印组件..

- 留缘木头Asp.net多用户留言板2.0

- IFNuke(修改自DNN)网站源码

- 文献检索系统源码及毕业论文

51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号