js实现兼容性好的微软官网导航下拉菜单效果_javascript技巧
本文实例讲述了js实现兼容性好的微软官网导航下拉菜单效果。分享给大家供大家参考。具体如下:
这是一款微软官网导航菜单,兼容好的下拉菜单,微软官网导航效果,在IE6下没有动画效果,顺便也把IE6的效果给加上,兼容IE6。现在微软的官方网站正在使用,我觉得非常不错。
运行效果截图如下:
在线演示地址如下:
http://demo.jb51.net/js/2015/js-microsoft-web-nav-menu-codes/
具体代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>微软官网导航菜单</title> <style type="text/css"> body{margin:0px;text-align:left;padding:0px;font:12px/140% Arial,Verdana,"微软雅黑";background:#d1d1d1;} ul{margin:0px;padding:0px;list-style-type:none;float:left;} a:focus {outline:0;} .nav{width:920px;height:28px;background:#f4f4f4;margin:20px auto;border-radius:5px;} .nav li{width:auto;line-height:20px;float:left;position:relative;} .nav li.msMnu_Item a{border:1px solid #f4f4f4;color:#4f4f4f;display:inline-block;padding:3px 10px;position:relative;text-decoration:none;font-size:14px;} .nav li.msMnu_Item a:hover{border:1px solid #999;background:#e4ecf4;} .nav li.msMnu_hove a{border:1px solid #999;border-bottom:1px solid #fff;background:#fff;color:#4f4f4f;display:inline-block;padding:3px 10px;position:relative;text-decoration:none;font-size:14px;z-index:1000;} .list{overflow:hidden;position:absolute;height:0px;top:27px;left:0;border-radius:0 8px 8px 8px;} .list div{background:#fff;overflow:hidden;padding:12px 0 12px 0;border:1px solid #999;float:left;} .list ul{padding:0px 10px;} .list li{margin:0px;padding:0px;width:170px;} .list li h3{margin:0px;padding:0px;font-size:12px;color:#4f4f4f;border-bottom:1px solid #e3e3e3;line-height:20px;width:100%;float:left;} .list li ul{width:170px;margin:0px;padding:5px 0;} .list li ul li.lis a{width:170px;height:22px;color:#0060a6;font-size:12px;line-height:20px;text-decoration:none;margin:0px;padding:0px;text-indent:3px;border:none;} .list li ul li.lis a:hover{color:#fff;background:#0060a6;} </style> <script type="text/javascript"> function Class(oParent, sClass){ var aElem = oParent.getElementsByTagName('*'); var aClass = []; var i = 0; for(i=0;i<aElem.length;i++)if(aElem[i].className == sClass)aClass.push(aElem[i]); return aClass; }; function css(obj, attr, value){ if(arguments.length == 2){ var style = obj.style, currentStyle = obj.currentStyle; if(typeof attr === 'string')return currentStyle ? currentStyle[attr] : getComputedStyle(obj, false)[attr]; for(var propName in attr)propName == 'opacity' ? (style.filter = "alpha(opacity=" + attr[propName] + ")", style.opacity = attr[propName] / 100) : style[propName] = attr[propName]; }else if(arguments.length == 3){ switch(attr){ case "width": case "height": case "paddingTop": case "paddingRight": case "paddingBottom": case "paddingLeft": case "top": case "right": case "bottom": case "left": case "marginTop": case "marginRigth": case "marginBottom": case "marginLeft": obj.style[attr] = value + "px"; break; case "opacity": obj.style.filter = "alpha(opacity=" + value + ")"; obj.style.opacity = value / 100; break; default: obj.style[attr] = value } } }; function extend(destination, source){ for (var propName in source) destination[propName] = source[propName]; return destination }; function doMove(obj, json, fnEnd){ clearInterval(obj.timer); obj.iSpeed = 0; fnEnd = extend({ type: "buffer", callback: function() {} }, fnEnd); obj.timer = setInterval(function(){ var iCur = 0, iStop = true; for(var propName in json){ iCur = parseFloat(css(obj, propName)); propName == 'opacity' && (iCur = Math.round(iCur * 100)); switch(fnEnd.type){ case 'buffer': obj.iSpeed = (json[propName] - iCur) / 3; obj.iSpeed = obj.iSpeed > 0 ? Math.ceil(obj.iSpeed) : Math.floor(obj.iSpeed); json[propName] == iCur || (iStop = false, css(obj, propName, iCur + obj.iSpeed)); break; case 'elasticity': obj.iSpeed += (json[propName] - iCur) / 3; obj.iSpeed *= 0.75; Math.abs(json[propName] - iCur) <= 1 && Math.abs(obj.iSpeed) <= 1 ? css(obj, propName, json[propName]) : css(obj, propName, json[propName]) || (iStop = false, css(obj, propName, iCur + obj.iSpeed)); break; case 'accelerate': obj.iSpeed = obj.iSpeed + 3; iCur >= json[propName] ? css(obj, propName, json[propName]) : css(obj, propName, json[propName]) || (iStop = false, css(obj, propName, iCur + obj.iSpeed)); break; } } if(iStop){ clearInterval(obj.timer); obj.timer = null; obj.iSpeed = 0; fnEnd.callback(); } },30); }; </script> <script type="text/javascript"> window.onload = function(){ var aMenu = Class(document, 'menu'); var aList = Class(document, 'list'); var i = iNow = zIndex = 0; for(i=0;i<aMenu.length;i++){ aMenu[i].index = i; aMenu[i].onclick = function(e){ var oEvent = e || event; var aDiv = this.parentNode.getElementsByTagName('div'); var aMenuList = Class(this.parentNode,'menuList'); var iWidth = aMenuList.length * aMenuList[0].offsetWidth + 3; //还原上一个动作 flexible(); if(aDiv[0].style.height==aDiv[1].offsetHeight+'px'){ flexible(); }else{ //当前动作 this.parentNode.className = 'msMnu_hove'; aDiv[0].style.zIndex = zIndex++; if(aMenuList.length>1)aDiv[0].style.width = iWidth + 'px'; doMove(aDiv[0], {height:aDiv[1].offsetHeight}); } //记住上一个 iNow = this.index; oEvent.cancelBubble = true; }; } document.onclick = function(){flexible();}; function flexible(){ aList[iNow].parentNode.className = 'msMnu_Item'; aList[iNow].style.zIndex = 0; doMove(aList[iNow], {height:0}); } }; </script> </head> <body> <div class="nav"> <ul> <li class="msMnu_Item"> <a href="javascript:;" class="menu">Windows</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="Windows">Windows</h3> <ul> <li class="lis"><a href="javascript:;">Windows 7</a></li> <li class="lis"><a href="javascript:;">Windows Vista</a></li> <li class="lis"><a href="javascript:;">Windows XP</a></li> <li class="lis"><a href="javascript:;">Windows 企业版</a></li> <li class="lis"><a href="javascript:;">Windows Phone</a></li> <li class="lis"><a href="javascript:;">Internet Explorer 8</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">Office</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="Office-产品">Office 产品</h3> <ul> <li class="lis"><a href="javascript:;">Office 标准版</a></li> <li class="lis"><a href="javascript:;">Office 家庭和学生版</a></li> <li class="lis"><a href="javascript:;">Office 中小企业版</a></li> <li class="lis"><a href="javascript:;">Office 专业版</a></li> <li class="lis"><a href="javascript:;">Office 专业增强版</a></li> <li class="lis"><a href="javascript:;">Office 企业版</a></li> </ul> <h3 id="活动与促销">活动与促销</h3> <ul> <li class="lis"><a href="javascript:;">Office 近期活动与促销</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:1px solid #e3e3e3;"> <li> <h3 id="Office-资源">Office 资源</h3> <ul> <li class="lis"><a href="javascript:;">Office 购买主页</a></li> <li class="lis"><a href="javascript:;">Office 试用版免费下载</a></li> <li class="lis"><a href="javascript:;">Office for Mac 2011</a></li> <li class="lis"><a href="javascript:;">Office Web Apps</a></li> <li class="lis"><a href="javascript:;">Office 更新和程序下载</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">所有产品</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="服务器">服务器</h3> <ul> <li class="lis"><a href="javascript:;">所有服务器产品</a></li> <li class="lis"><a href="javascript:;">Lync Server</a></li> <li class="lis"><a href="javascript:;">Windows Server</a></li> <li class="lis"><a href="javascript:;">Windows Small Business Server</a></li> <li class="lis"><a href="javascript:;">Windows Home Server</a></li> <li class="lis"><a href="javascript:;">Windows HPC Server</a></li> <li class="lis"><a href="javascript:;">SQL Server</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:1px solid #e3e3e3;"> <li> <h3 id="商业应用">商业应用</h3> <ul> <li class="lis"><a href="javascript:;">UC 统一沟通</a></li> <li class="lis"><a href="javascript:;">云计算</a></li> <li class="lis"><a href="javascript:;">商业软件平台</a></li> <li class="lis"><a href="javascript:;">企业生产力基础架构</a></li> </ul> <h3 id="开发工具">开发工具</h3> <ul> <li class="lis"><a href="javascript:;">Visual Studio 开发工具</a></li> <li class="lis"><a href="javascript:;">MSDN 开发人员网站</a></li> </ul> <h3 id="设计与个人体验">设计与个人体验</h3> <ul> <li class="lis"><a href="javascript:;">Expression</a></li> <li class="lis"><a href="javascript:;">Silverlight</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:#e3e3e3;"> <li> <h3 id="个人生活与娱乐产品">个人生活与娱乐产品</h3> <ul> <li class="lis"><a href="javascript:;">DirectX (英)</a></li> <li class="lis"><a href="javascript:;">微软拼音输入法</a></li> <li class="lis"><a href="javascript:;">Skype</a></li> </ul> <h3 id="硬件">硬件</h3> <ul> <li class="lis"><a href="javascript:;">微软硬件首页</a></li> <li class="lis"><a href="javascript:;">鼠标</a></li> <li class="lis"><a href="javascript:;">键盘</a></li> </ul> <h3 id="Windows-Phone">Windows Phone</h3> <ul> <li class="lis"><a href="javascript:;">Windows Phone 首页</a></li> <li class="lis"><a href="javascript:;">应用与下载</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">下载</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="下载中心">下载中心</h3> <ul> <li class="lis"><a href="javascript:;">微软中国下载中心</a></li> <li class="lis"><a href="javascript:;">Windows 下载</a></li> <li class="lis"><a href="javascript:;">Office 下载</a></li> <li class="lis"><a href="javascript:;">Server 下载</a></li> <li class="lis"><a href="javascript:;">Office Marketplace 下载</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:1px solid #e3e3e3;"> <li> <h3 id="最新下载">最新下载</h3> <ul> <li class="lis"><a href="javascript:;">Internet Explorer 8</a></li> <li class="lis"><a href="javascript:;">Internet Explorer 9</a></li> <li class="lis"><a href="javascript:;">Office 2010 试用版</a></li> <li class="lis"><a href="javascript:;">Silverlight</a></li> <li class="lis"><a href="javascript:;">Windows 7 Service Pack 1</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">安全与更新</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="安全与更新">安全与更新</h3> <ul> <li class="lis"><a href="javascript:;">安全中心首页</a></li> <li class="lis"><a href="javascript:;">Microsoft Update</a></li> <li class="lis"><a href="javascript:;">Office Update</a></li> <li class="lis"><a href="javascript:;">微软安全软件</a></li> <li class="lis"><a href="javascript:;">恶意软件删除工具</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">培训与支持</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="产品支持">产品支持</h3> <ul> <li class="lis"><a href="javascript:;">帮助与支持首页</a></li> <li class="lis"><a href="javascript:;">Windows 帮助</a></li> <li class="lis"><a href="javascript:;">Office 帮助</a></li> <li class="lis"><a href="javascript:;">TechNet 支持</a></li> <li class="lis"><a href="javascript:;">MSDN 支持</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:1px solid #e3e3e3;"> <li> <h3 id="活动">活动</h3> <ul> <li class="lis"><a href="javascript:;">微软活动中心</a></li> <li class="lis"><a href="javascript:;">培训</a></li> <li class="lis"><a href="javascript:;">微软 IT 课堂</a></li> <li class="lis"><a href="javascript:;">微软在线培训及认证</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">立即购买</a> <div class="list"> <div> <ul class="menuList"> <li> <h3 id="立即购买">立即购买</h3> <ul> <li class="lis"><a href="javascript:;">微软产品选购平台首页</a></li> <li class="lis"><a href="javascript:;">个人用户选购平台</a></li> <li class="lis"><a href="javascript:;">企业用户选购平台</a></li> <li class="lis"><a href="javascript:;">特别优惠</a></li> <li class="lis"><a href="javascript:;">批量许可授权</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">解决方案</a> <div class="list" style="border-radius:8px 0 8px 8px;right:0;left:auto;"> <div> <ul class="menuList"> <li> <h3 id="合作伙伴解决方案">合作伙伴解决方案</h3> <ul> <li class="lis"><a href="javascript:;">查找合作伙伴解决方案</a></li> </ul> <h3 id="企业和组织">企业和组织</h3> <ul> <li class="lis"><a href="javascript:;">Microsoft Dynamics ERP & CRM</a></li> <li class="lis"><a href="javascript:;">大型企业信息化专区</a></li> <li class="lis"><a href="javascript:;">教育信息化专区</a></li> <li class="lis"><a href="javascript:;">微软中小企业在线体验中心</a></li> <li class="lis"><a href="javascript:;">微软正版授权中心</a></li> </ul> </li> </ul> <ul class="menuList" style="border-left:1px solid #e3e3e3;"> <li> <h3 id="开发人员和-IT-专业人士">开发人员和 IT 专业人士</h3> <ul> <li class="lis"><a href="javascript:;">MSDN</a></li> <li class="lis"><a href="javascript:;">TechNet</a></li> <li class="lis"><a href="javascript:;">IT 专业社区</a></li> </ul> <h3 id="中国案例中心">中国案例中心</h3> <ul> <li class="lis"><a href="javascript:;">微软中国案例中心</a></li> </ul> <h3 id="微软技巧与帮助">微软技巧与帮助</h3> <ul> <li class="lis"><a href="javascript:;">微软家庭馆</a></li> <li class="lis"><a href="javascript:;">微软工作馆</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">合作伙伴</a> <div class="list" style="border-radius:8px 0 8px 8px;right:0;left:auto;"> <div> <ul class="menuList"> <li> <h3 id="合作伙伴">合作伙伴</h3> <ul> <li class="lis"><a href="javascript:;">微软合作伙伴网络</a></li> <li class="lis"><a href="javascript:;">查找微软合作伙伴</a></li> <li class="lis"><a href="javascript:;">微软合作伙伴网络权益概览</a></li> <li class="lis"><a href="javascript:;">加入微软合作伙伴网络(MPN)</a></li> <li class="lis"><a href="javascript:;">订阅微软行动宝盒(MAPs)</a></li> </ul> </li> </ul> </div> </div> </li> <li class="msMnu_Item"> <a href="javascript:;" class="menu">关于微软</a> <div class="list" style="border-radius:8px 0 8px 8px;right:0;left:auto;"> <div> <ul class="menuList"> <li> <h3 id="关于微软">关于微软</h3> <ul> <li class="lis"><a href="javascript:;">关于微软</a></li> <li class="lis"><a href="javascript:;">微软新闻</a></li> <li class="lis"><a href="javascript:;">微软在线视频中心</a></li> <li class="lis"><a href="javascript:;">投资者关系 (英)</a></li> <li class="lis"><a href="javascript:;">招贤纳士</a></li> </ul> </li> </ul> </div> </div> </li> </ul> </div> </body> </html>
希望本文所述对大家的JavaScript程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

WPS表格下拉菜单怎么做:选中要设置下拉菜单的单元格后,依次点击“数据”,“有效性”,再在弹出的对话框中进行相应设置后,以此来下拉我们的菜单。WPS作为一款功能强大的办公软件,其自身拥有的能够编辑文档、统计数据表格等的功能,为很多需要和文字、数据等打交道的人们提供了很多的方便。而要想熟练地运用WPS软件为我们提供很多方便,就需要我们能够先掌握住WPS软件的各种非常基本的操作,在这篇文章里,小编就给大家分享一下怎么在用WPS软件做出的WPS表格中进行下拉菜单的操作。在打开WPS表格后,首先用鼠标选

如何使用JS和百度地图实现地图平移功能百度地图是一款广泛使用的地图服务平台,在Web开发中经常用于展示地理信息、定位等功能。本文将介绍如何使用JS和百度地图API实现地图平移功能,并提供具体的代码示例。一、准备工作使用百度地图API前,首先需要在百度地图开放平台(http://lbsyun.baidu.com/)上申请一个开发者账号,并创建一个应用。创建完成

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

股票分析必备工具:学习PHP和JS绘制蜡烛图的步骤,需要具体代码示例随着互联网和科技的快速发展,股票交易已经成为许多投资者的重要途径之一。而股票分析是投资者决策的重要一环,其中蜡烛图被广泛应用于技术分析中。学习如何使用PHP和JS绘制蜡烛图将为投资者提供更多直观的信息,帮助他们更好地做出决策。蜡烛图是一种以蜡烛形状来展示股票价格的技术图表。它展示了股票价格的

如何使用PHP和JS创建股票蜡烛图股票蜡烛图是股票市场中常见的一种技术分析图形,通过绘制股票的开盘价、收盘价、最高价和最低价等数据,帮助投资者更直观地了解股票的价格波动情况。本文将教你如何使用PHP和JS创建股票蜡烛图,并附上具体的代码示例。一、准备工作在开始之前,我们需要准备以下环境:1.一台运行PHP的服务器2.一个支持HTML5和Canvas的浏览器3

如何使用JS和百度地图实现地图热力图功能简介:随着互联网和移动设备的迅速发展,地图成为了一种普遍的应用场景。而热力图作为一种可视化的展示方式,能够帮助我们更直观地了解数据的分布情况。本文将介绍如何使用JS和百度地图API来实现地图热力图的功能,并提供具体的代码示例。准备工作:在开始之前,你需要准备以下事项:一个百度开发者账号,并创建一个应用,获取到相应的AP

如何使用JS和百度地图实现地图点击事件处理功能概述:在Web开发中,经常需要使用地图功能来展示地理位置和地理信息。而地图上的点击事件处理是地图功能中常用且重要的一部分。本文将介绍如何使用JS和百度地图API来实现地图的点击事件处理功能,并给出具体的代码示例。步骤:导入百度地图的API文件首先,要在HTML文件中导入百度地图API的文件,可以通过以下代码实现:

实现微信小程序中的下拉菜单效果,需要具体代码示例随着移动互联网的普及,微信小程序成为了互联网开发的重要一环,越来越多的人开始关注和使用微信小程序。微信小程序的开发相比传统的APP开发更加简便快捷,但也需要掌握一定的开发技巧。在微信小程序的开发中,下拉菜单是一个常见的UI组件,实现了更好的用户操作体验。本文将详细介绍如何在微信小程序中实现下拉菜单效果,并提供具
