JS+css滑动菜单

制作一个简单的滑动菜单,当鼠标指向菜单标题时,滑出二级菜单.移开时二级菜单隐藏.目标很简单,实践时有一些细节需要注意,比如鼠标移向二级菜单的 过程中,二级菜单消失了.还有定位出错等等..

一.使用了如下HTML标记结构
        ul                  // 菜单条块
            li              // 子项块
                a           // 菜单(链接)
                div         // 二级菜单块
二.主要样式设置
        1.ul
            list-style:none // 去掉前面圆点
            其它样式,边框内外补等等
        2.ul li
            float:left;// 左浮,让菜单在同一行
        3.ul li a
            padding-bottom:.5em;// (关键)这个的用途在于将菜单项和滑动的菜单项重合,并且压在上面,防止鼠标移向二级菜单的中途,菜单消失(详见下文)
        4.ul li div
            display:none;     // 开始时菜单隐藏
            position:absolute;// 设绝对定位,它会相对于父级的li位置出现.
            margin-top:4px;   // 让菜单向下
            li没有设置相对定位,所以div设为绝对定位时,也不指定位置
三.脚本简单,只有几句
        1. a的mouseover和mouseout
            鼠标指向和移出菜单标题时.将div显示或隐藏
        2. div的mouseover和mouseout
            鼠标指向和移出二级菜单区域时,将自身显示或隐藏
四.鼠标移动时菜单消失问题
          当鼠标指向菜单时,二级菜单显示了,这时如果鼠标移动到二级菜单上时,如果移动速度较慢,会发现二级菜单消失了.因为脚本写过当鼠标
        移出菜单标题时,二级菜单隐藏.此时二级菜单和菜单标题之间是有一些间隙的,所以只要保证它两之间有一丝重合,就能让鼠标完美过渡到
        二级菜单上,而不发生烦人的菜单消失问题.
五.示例:请用鼠标指向下面的菜单标题

//

JS+css滑动菜单简单实现的更多相关文章

  1. 使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问)

    使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问) 一.总结 一句话总结:进度条动画效果用animation,自动效果用setIntelval 二.使用原生JS+CSS或HTML5实 ...

  2. 勤能补挫-简单But易错的JS&CSS问题总结

    错误频率较高的JS&CSS问题 勤能补拙,不管是哪门子技术,在实践中多多总结,开发效率慢慢就会提升.本篇介绍几个经常出错的JS&CSS问题,包括事件冒泡.(使用offset.scrol ...

  3. 实用js+css多级树形展开效果导航菜单

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

  4. js+css实现带缓冲效果右键弹出菜单

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

  5. CSS+JS下拉菜单和纯CSS下拉菜单

    下拉菜单 (思路:先把二级定位到屏幕外,鼠标悬停重新定位回来:另一个就是ul浮动,li也浮动) 下拉菜单的一般思路就是把子导航嵌套在无序列表中,把列表定位到屏幕之外,当鼠标悬停在其父列表项上时,重新定 ...

  6. JS+CSS打造三级折叠菜单,自动收缩其它级 js

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  7. 简单html js css 轮播图片,不用jquery

    这个是自己修改的轮播图片,在网上有的是flash 实现的轮播图片,对搜索引擎不友好, 比如:dedecms 的首页的轮播图是用flash实现滚动的. 所以这个自己修改了一下,实现html+js+css ...

  8. bootstrap-简单实用的垂直手风琴滑动菜单列表特效

    前端: <html lang="zh"> <head> <meta charset="UTF-8"> <meta ht ...

  9. css三级菜单效果

    一个简单实用的css三级菜单效果 <!doctype html> <html> <head> <meta charset="utf-8"& ...

随机推荐

  1. 解决APP中fragment重叠问题

    由于内存重启,导致的frgament重叠,其原因就是FragmentState没有保存Fragment的显示状态,即mHidden,导致页面重启后,该值为默认的false,即show状态,所以导致了F ...

  2. Objective-C 静态变量 使用方法

    详解Objective-C中静态变量使用方法 Objective-C中静态变量使用方法是本文要介绍的内容,Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用&q ...

  3. (摘)C#comboBox绑定数据

    C#中comboBox用代码绑定数据库中在某一列.用处:跟radioButton联系在一起,可以根据radioButton在选择而在comboBox显示出不同的值. private void radi ...

  4. cf C. Secrets

    http://codeforces.com/contest/334/problem/C #include <cstdio> #include <iostream> #inclu ...

  5. qt http 上传文件

    //Qt文件 QFile file("1.jpg"); if(!file.open (QIODevice::ReadOnly)){     qDebug()<<&quo ...

  6. C#进程间通信--API传递参数(SendMessage)

    原文 C#进程间通信--API传递参数(SendMessage)  我们不仅可以传递系统已经定义好的消息,还可以传递自定义的消息(只需要发送消息端和接收消息端对自定义的消息值统一即可).下面的发送和接 ...

  7. BOT、BT、PPP形式介绍(2)

    BT1.什么是BT     BT投资是BOT的一种变换形式,即Build-Transfer(建设—转让),政府通过特许协议,引入国外资金或民间资金进行专属于政府的基础设施建设,基础设施建设完工后,该项 ...

  8. <php>Ajax基本格式

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  9. Entify Framewrok - Join的使用方法

    问题:有2个表,使用id相连,如何用Join语法将其连接起来? 如下代码 List<tblAssociation> assoList = dataContext.tblAssociatio ...

  10. angularjs基本执行流程

    近期温习了下angularjs执行流程,备记下.以便查看. 主要的执行流程例如以下: 1.用户请求应用起始页. 2.用户的浏览器向server发起一次HTTP连接,然后载入index.html页面,这 ...