jq+css+html简单实现导航下拉菜单
相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code.
Html部分
- <div class="_nav">
- <ul id="sddm">
- <li><a href="/Home/Index" id="a_nav_Home" class="a_nav_Menu">Home</a>
- <div id="nav_Home" class="div_nav_Menu">
- </div>
- </li>
- <li><a href="#" id="a_nav_Employee" class="a_nav_Menu">Employee</a>
- <div id="nav_Employee" class="div_nav_Menu">
- @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
- @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
- @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
- @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
- @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
- </div>
- </li>
- <li><a href="#" id="a_nav_Billing" class="a_nav_Menu">Billing</a>
- <div id="nav_Billing" class="div_nav_Menu">
- <a href="#">B Test1</a>
- <a href="#">B Test2</a>
- </div>
- </li>
- <li><a href="#" id="a_nav_Forecast" class="a_nav_Menu">Forecast</a>
- <div id="nav_Forecast" class="div_nav_Menu">
- <a href="#">F Test1</a>
- <a href="#">F Test2</a>
- <a href="#">F Test3</a>
- </div>
- </li>
- </ul>
- </div>
CSS部分
/*********************------------------------------Menu CSS------------------------*********************/
- #sddm {
- margin: 0 auto;
- }
- #sddm li {
- margin:;
- padding:;
- list-style: none;
- float: left;
- font: bold 12px arial;
- }
- #sddm li a {
- display: block;
- margin: 0 1px 0 0;
- padding: 4px 10px;
- width: 60px;
- color: #49AB6E;
- text-align: center;
- text-decoration: none;
- }
- #sddm li a:hover {
- background: #49AB6E;
- color: white;
- }
- #sddm div {
- position: absolute;
- visibility: hidden;
- margin:;
- padding:;
- }
- #sddm div a {
- position: relative;
- display: block;
- margin:;
- width: auto;
- white-space: nowrap;
- text-align: center;
- text-decoration: none;
- background: #49AB6E;
- color: white;
- font: 12px arial;
- }
- #sddm div a:hover {
- background: #E5D6B8;
- color: white;
- }
JS部分
- var timeout = 1;
- var closetimer = 0;
- var ddmenuitem = 0;
- // close showed layer
- function mclose() {
- if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
- }
- // cancel close timer
- function mcancelclosetime() {
- if (closetimer) {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
- }
- // close layer when click-out
- document.onclick = mclose;
- // -->
- $(function () {
- // open hidden layer
- $(".a_nav_Menu").mouseover(function () {
- var currentId = $(this).attr("id");
- // cancel close timer
- mcancelclosetime();
- // close old layer
- if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
- $("#" + currentId.replace("a_","")).width($("#" + currentId).parent().width() - 1);
- $("#" + currentId).css({ "background": "#49AB6E", "color": "white" });
- // get new layer and show it
- ddmenuitem = document.getElementById(currentId.replace("a_", ""));
- ddmenuitem.style.visibility = 'visible';
- });
- // go close timer
- $(".a_nav_Menu").mouseout(function () {
- var currentId = $(this).attr("id");
- $("#" + currentId).css({ "background": "", "color": "#49AB6E" });
- closetimer = window.setTimeout(mclose, timeout);
- });
- // go close timer
- $(".div_nav_Menu").mouseout(function () {
- var currentId = $(this).attr("id");
- $("#a_" + currentId).css({ "background": "", "color": "#49AB6E" });
- closetimer = window.setTimeout(mclose, timeout);
- });
- $(".div_nav_Menu").mouseover(function () {
- var currentId = $(this).attr("id");
- $("#a_" + currentId).css({ "background": "#49AB6E", "color": "white" });
- mcancelclosetime();
- });
- })
这里只是简单实现一下,如果页面要求比较高,可能就不是很实用了,这个只是当时接了一个私活,因为比较注重业务而不是code所以就写的比较快。
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!
jq+css+html简单实现导航下拉菜单的更多相关文章
- 纯CSS实现二级导航下拉菜单--css的简单应用
思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...
- 简单实用的下拉菜单(CSS+jquery)
原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- 用原生JS实现的一个导航下拉菜单,下拉菜单的宽度与浏览器视口的宽度一样(js+html+css)
这个导航下拉菜单需要实现的功能是:下拉菜单的宽度与浏览器视口的宽度一样宽:一级导航只有两项,当鼠标移到一级导航上的导航项时,相应的二级导航出现.在本案例中通过改变二级导航的高度来实现二级导航的显示和消 ...
- HTML DOM部分---做竖向横向的下拉导航 下拉菜单 图片轮播(圆点、箭头) 选项卡 进度条;
1,竖向下拉导航 鼠标单击打开 再打击关闭 <style> *{ margin:0px auto; padding:0px;} div{ width:100px; height:50px; ...
- 兼容ie7的导航下拉菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- bootstrap:导航下拉菜单
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- MDNavBarView下拉导航菜单(仿美团导航下拉菜单)
说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...
- js导航下拉菜单
使用定时器.鼠标移动事件 var img = $('#user_head'); var menu = $('.nav_list'); var i=0; var timer; img.mouseente ...
- 一个css和js结合的下拉菜单,支持主流浏览器
首先声明: 本人尽管在web前端岗位干了好多年,但无奈岗位对技术要求不高.html,css用的比較多,JavaScript自己原创的非常少,基本都是copy改动,所以自己真正动手写时,发现基础非常不坚 ...
随机推荐
- MySQL的Incorrect string value错误
用以下SQL语句向表2中插入数据: insert into 表2 select * from 表1 结果出现Incorrect string value错误: 打开表2一看,里面全是问号: 后来才发现 ...
- Software Development Engineer - Database Services
http://stackoverflow.com/jobs/116486/software-development-engineer-database-services-amazon?med=clc& ...
- FireMonkey ListView 自动计算行高
说明:展示 ListView 视其每一行 Item 的 Detail 字串长度自动调整高度(可每行高度不同). 适用:Delphi XE7 / XE8 源码下载:[原创]ListView_自动计算行高 ...
- JPA一对多循环引用的解决
说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二. 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就 ...
- 第 1 章 Bootstrap 介绍
学习要点:1.Bootstrap 概述2.Bootstrap 特点3.Bootstrap 结构4.创建第一个页面5.学习的各项准备 主讲教师:李炎恢 本节课我们主要了解一下 Boostrap 历史.特 ...
- java 数据库连接池
1. About java利用jdbc直接连接数据库,经常取得连接,用完释放,很浪费系统资源 2. Code Java代码 package com.cdv.mam.db; import java.sq ...
- 抽取的BaseFragment和LoadingPage
[BaseFragment]: public abstract class BaseFragment extends Fragment { /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ...
- ubuntu 下安装memcache 以及php扩展
1,下载软件 下载 memcached http://memcached.org/downloads 下载libevent http://libevent.org/ 2,安装 ...
- linux系统下nodejs安装过程随记
首先下载适合的版本.这里我使用的是node v.10.36 先介绍编译安装的详细过程. 下载该版本: wget http://nodejs.org/dist/v0.10.36/node-v0.10.3 ...
- 设计一个较好的框架的难点之一--API兼容性的设计
设计一个好的框架和设计一个好的软件一样,需要考虑的方面很多,比如扩展性.性能.用户体验.稳健性等等,视不同的场景,每个点都可能导致成败,但他们通常并不是老板们关心的,因为在大部分情况下,他们通常都没有 ...