JS+css滑动菜单简单实现
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滑动菜单简单实现的更多相关文章
- 使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问)
使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问) 一.总结 一句话总结:进度条动画效果用animation,自动效果用setIntelval 二.使用原生JS+CSS或HTML5实 ...
- 勤能补挫-简单But易错的JS&CSS问题总结
错误频率较高的JS&CSS问题 勤能补拙,不管是哪门子技术,在实践中多多总结,开发效率慢慢就会提升.本篇介绍几个经常出错的JS&CSS问题,包括事件冒泡.(使用offset.scrol ...
- 实用js+css多级树形展开效果导航菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js+css实现带缓冲效果右键弹出菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CSS+JS下拉菜单和纯CSS下拉菜单
下拉菜单 (思路:先把二级定位到屏幕外,鼠标悬停重新定位回来:另一个就是ul浮动,li也浮动) 下拉菜单的一般思路就是把子导航嵌套在无序列表中,把列表定位到屏幕之外,当鼠标悬停在其父列表项上时,重新定 ...
- JS+CSS打造三级折叠菜单,自动收缩其它级 js
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...
- 简单html js css 轮播图片,不用jquery
这个是自己修改的轮播图片,在网上有的是flash 实现的轮播图片,对搜索引擎不友好, 比如:dedecms 的首页的轮播图是用flash实现滚动的. 所以这个自己修改了一下,实现html+js+css ...
- bootstrap-简单实用的垂直手风琴滑动菜单列表特效
前端: <html lang="zh"> <head> <meta charset="UTF-8"> <meta ht ...
- css三级菜单效果
一个简单实用的css三级菜单效果 <!doctype html> <html> <head> <meta charset="utf-8"& ...
随机推荐
- 分享QQ第三方登陆SDK
主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库..反正自己都写了一个了,就拿出来分享下.. 什么也不多说,直接上代码. Qq_sdk.php < ...
- HTML5比较实用的代码
增强IE兼容性 <!--[if IE]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js&q ...
- mysql for python,银行转账模拟
学习中, 本人为初学者.勿喷. #-*- coding:utf-8 -*- import MySQLdb class Tranferaccount(object): def __init__(self ...
- JDBC开发模式
一]代码模块———Demo.java public class Demo { private static Connection connection; private static Statemen ...
- Android Activity 生命周期的透彻理解
说来惭愧,虽然已经做了一年多的android开发,但是最近被人问起activity的生命周期的时候,却感觉自己并不能很自信很确定的回答对方的问题,对activity的生命周期的理解还不透彻啊. ...
- Eclipse远程调试weblogic
http://www.cnblogs.com/dyllove98/archive/2013/08/06/3241140.html http://blog.csdn.net/afgasdg/articl ...
- c# splitter控件使用简介
摘自:http://blog.itpub.net/26221264/viewspace-735903 1.先在窗体上放置部分一的控件,这里是TreeView控件,然后把它的 Dock 属性设置为 Le ...
- socket pro
/etc/exports/tmp目录共享为任何人可以共享并可以进行读写操作 /tmp *(rw,no_root_squash) /home/test 192.168.1.*(rw) *(ro) /et ...
- 使用python/casperjs编写终极爬虫-客户端App的抓取-ZOL技术频道
使用python/casperjs编写终极爬虫-客户端App的抓取-ZOL技术频道 使用python/casperjs编写终极爬虫-客户端App的抓取
- curl 学习
<?php // $username =13800138000; // $password =123456; // $sendto =13912345678; // $message = &qu ...