相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code.

Html部分

  1. <div class="_nav">
  2. <ul id="sddm">
  3. <li><a href="/Home/Index" id="a_nav_Home" class="a_nav_Menu">Home</a>
  4. <div id="nav_Home" class="div_nav_Menu">
  5. </div>
  6. </li>
  7. <li><a href="#" id="a_nav_Employee" class="a_nav_Menu">Employee</a>
  8. <div id="nav_Employee" class="div_nav_Menu">
  9. @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
  10. @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
  11. @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
  12. @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
  13. @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
  14. </div>
  15. </li>
  16. <li><a href="#" id="a_nav_Billing" class="a_nav_Menu">Billing</a>
  17. <div id="nav_Billing" class="div_nav_Menu">
  18. <a href="#">B Test1</a>
  19. <a href="#">B Test2</a>
  20. </div>
  21. </li>
  22. <li><a href="#" id="a_nav_Forecast" class="a_nav_Menu">Forecast</a>
  23. <div id="nav_Forecast" class="div_nav_Menu">
  24. <a href="#">F Test1</a>
  25. <a href="#">F Test2</a>
  26. <a href="#">F Test3</a>
  27. </div>
  28. </li>
  29. </ul>
  30. </div>

CSS部分

/*********************------------------------------Menu CSS------------------------*********************/

  1. #sddm {
  2. margin: 0 auto;
  3. }
  4.  
  5. #sddm li {
  6. margin:;
  7. padding:;
  8. list-style: none;
  9. float: left;
  10. font: bold 12px arial;
  11. }
  12.  
  13. #sddm li a {
  14. display: block;
  15. margin: 0 1px 0 0;
  16. padding: 4px 10px;
  17. width: 60px;
  18. color: #49AB6E;
  19. text-align: center;
  20. text-decoration: none;
  21. }
  22.  
  23. #sddm li a:hover {
  24. background: #49AB6E;
  25. color: white;
  26. }
  27.  
  28. #sddm div {
  29. position: absolute;
  30. visibility: hidden;
  31. margin:;
  32. padding:;
  33. }
  34.  
  35. #sddm div a {
  36. position: relative;
  37. display: block;
  38. margin:;
  39. width: auto;
  40. white-space: nowrap;
  41. text-align: center;
  42. text-decoration: none;
  43. background: #49AB6E;
  44. color: white;
  45. font: 12px arial;
  46. }
  47.  
  48. #sddm div a:hover {
  49. background: #E5D6B8;
  50. color: white;
  51. }

JS部分

  1. var timeout = 1;
  2. var closetimer = 0;
  3. var ddmenuitem = 0;
  4.  
  5. // close showed layer
  6. function mclose() {
  7. if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
  8. }
  9.  
  10. // cancel close timer
  11. function mcancelclosetime() {
  12. if (closetimer) {
  13. window.clearTimeout(closetimer);
  14. closetimer = null;
  15. }
  16. }
  17.  
  18. // close layer when click-out
  19. document.onclick = mclose;
  20. // -->
  21.  
  22. $(function () {
  23. // open hidden layer
  24. $(".a_nav_Menu").mouseover(function () {
  25. var currentId = $(this).attr("id");
  26.  
  27. // cancel close timer
  28. mcancelclosetime();
  29.  
  30. // close old layer
  31. if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
  32. $("#" + currentId.replace("a_","")).width($("#" + currentId).parent().width() - 1);
  33. $("#" + currentId).css({ "background": "#49AB6E", "color": "white" });
  34.  
  35. // get new layer and show it
  36. ddmenuitem = document.getElementById(currentId.replace("a_", ""));
  37. ddmenuitem.style.visibility = 'visible';
  38. });
  39.  
  40. // go close timer
  41. $(".a_nav_Menu").mouseout(function () {
  42. var currentId = $(this).attr("id");
  43. $("#" + currentId).css({ "background": "", "color": "#49AB6E" });
  44.  
  45. closetimer = window.setTimeout(mclose, timeout);
  46. });
  47.  
  48. // go close timer
  49. $(".div_nav_Menu").mouseout(function () {
  50. var currentId = $(this).attr("id");
  51. $("#a_" + currentId).css({ "background": "", "color": "#49AB6E" });
  52. closetimer = window.setTimeout(mclose, timeout);
  53. });
  54.  
  55. $(".div_nav_Menu").mouseover(function () {
  56. var currentId = $(this).attr("id");
  57. $("#a_" + currentId).css({ "background": "#49AB6E", "color": "white" });
  58. mcancelclosetime();
  59. });
  60. })

这里只是简单实现一下,如果页面要求比较高,可能就不是很实用了,这个只是当时接了一个私活,因为比较注重业务而不是code所以就写的比较快。

作  者:请叫我头头哥

出  处:http://www.cnblogs.com/toutou/

关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信

声援博主:如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!

jq+css+html简单实现导航下拉菜单的更多相关文章

  1. 纯CSS实现二级导航下拉菜单--css的简单应用

    思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...

  2. 简单实用的下拉菜单(CSS+jquery)

    原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  3. 用原生JS实现的一个导航下拉菜单,下拉菜单的宽度与浏览器视口的宽度一样(js+html+css)

    这个导航下拉菜单需要实现的功能是:下拉菜单的宽度与浏览器视口的宽度一样宽:一级导航只有两项,当鼠标移到一级导航上的导航项时,相应的二级导航出现.在本案例中通过改变二级导航的高度来实现二级导航的显示和消 ...

  4. HTML DOM部分---做竖向横向的下拉导航 下拉菜单 图片轮播(圆点、箭头) 选项卡 进度条;

    1,竖向下拉导航 鼠标单击打开 再打击关闭 <style> *{ margin:0px auto; padding:0px;} div{ width:100px; height:50px; ...

  5. 兼容ie7的导航下拉菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. bootstrap:导航下拉菜单

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  7. MDNavBarView下拉导航菜单(仿美团导航下拉菜单)

    说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...

  8. js导航下拉菜单

    使用定时器.鼠标移动事件 var img = $('#user_head'); var menu = $('.nav_list'); var i=0; var timer; img.mouseente ...

  9. 一个css和js结合的下拉菜单,支持主流浏览器

    首先声明: 本人尽管在web前端岗位干了好多年,但无奈岗位对技术要求不高.html,css用的比較多,JavaScript自己原创的非常少,基本都是copy改动,所以自己真正动手写时,发现基础非常不坚 ...

随机推荐

  1. MySQL的Incorrect string value错误

    用以下SQL语句向表2中插入数据: insert into 表2 select * from 表1 结果出现Incorrect string value错误: 打开表2一看,里面全是问号: 后来才发现 ...

  2. Software Development Engineer - Database Services

    http://stackoverflow.com/jobs/116486/software-development-engineer-database-services-amazon?med=clc& ...

  3. FireMonkey ListView 自动计算行高

    说明:展示 ListView 视其每一行 Item 的 Detail 字串长度自动调整高度(可每行高度不同). 适用:Delphi XE7 / XE8 源码下载:[原创]ListView_自动计算行高 ...

  4. JPA一对多循环引用的解决

    说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二. 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就 ...

  5. 第 1 章 Bootstrap 介绍

    学习要点:1.Bootstrap 概述2.Bootstrap 特点3.Bootstrap 结构4.创建第一个页面5.学习的各项准备 主讲教师:李炎恢 本节课我们主要了解一下 Boostrap 历史.特 ...

  6. java 数据库连接池

    1. About java利用jdbc直接连接数据库,经常取得连接,用完释放,很浪费系统资源 2. Code Java代码 package com.cdv.mam.db; import java.sq ...

  7. 抽取的BaseFragment和LoadingPage

    [BaseFragment]: public abstract class BaseFragment extends Fragment { /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ...

  8. ubuntu 下安装memcache 以及php扩展

    1,下载软件   下载   memcached   http://memcached.org/downloads   下载libevent http://libevent.org/     2,安装  ...

  9. linux系统下nodejs安装过程随记

    首先下载适合的版本.这里我使用的是node v.10.36 先介绍编译安装的详细过程. 下载该版本: wget http://nodejs.org/dist/v0.10.36/node-v0.10.3 ...

  10. 设计一个较好的框架的难点之一--API兼容性的设计

    设计一个好的框架和设计一个好的软件一样,需要考虑的方面很多,比如扩展性.性能.用户体验.稳健性等等,视不同的场景,每个点都可能导致成败,但他们通常并不是老板们关心的,因为在大部分情况下,他们通常都没有 ...