原理很简单.


涉及到知识点:

1、jquery的position注意这里是jquery的position,不是css的position

offset的概念

2、>的概念。

3、.ulh>li 的优先级要比直接在li上加 .selected的样式高。因为.ulh>li  是元素样式,位于优先级老2.


支持无限分级的菜单,兼容ie8+,chorm,firefox

支持无限的伸缩。支持url效果。图标和样式欢迎大家自行改造。欢迎大家使用。

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.ulh {
padding: 0;
list-style: none;
font-family: "Microsoft YaHei UI";
font-size: 14px;
position: relative;
}
.ulh >li {
float: left;
background-color: bisque;
border-collapse: collapse;
width: 200px;
box-sizing: border-box;
text-align: center;
height: 30px;
line-height: 28px;
border: 1px solid red;
}
.ulh >li>a {
cursor: pointer;
display: block;
}
.ulv {
padding: 0;
list-style: none;
font-family: "Microsoft YaHei UI";
font-size: 14px;
position: relative;
}
.ulv >li {
background-color: bisque;
border-collapse: collapse;
display: block;
width: 200px;
box-sizing: border-box;
height: 30px;
line-height: 28px;
border: 1px solid red;
}
.ulv >li a {
cursor: pointer;
display: block;
}
.selected {
background-color: #a1ffaa;
}
</style>
<script src="content/javascript/jquery-1.10.2.min.js"></script> <script>
$(document).ready(function () {
$("#maliang >li").show();
$("#maliang ul").hide(); $("#maliang li ").hover(function () {
var x = $(this).position();
var float1 = $(this).css("float");
if (float1.toUpperCase() == "LEFT") {
$(this).find(">ul").css({"position": "absolute", "left": x.left, 'top': x.top + 30});
}
else {
$(this).find(">ul").css({"position": "absolute", "left": x.left + 200, 'top': x.top});
}
$(this).find(">ul").slideDown(); $(this).addClass("selected");
}, function () {
$(this).find(">ul").slideUp();
$(this).removeClass("selected");
});
}) </script>
</head>
<body >
<ul class="ulh" id="maliang">
<li id="ol" style="position: relative">
<a href="http://www.baidu.com">新闻</a>
<ul class="ulv" >
<li><a href="">国内</a>
</li>
<li><a href="">国际</a></li>
<li><a href="">娱乐</a></li>
</ul>
</li>
<li id="keji"><a>科技</a>
<ul class="ulv" >
<li><a href="">互利网</a></li>
<li><a href="">软件</a></li>
<li><a href="">电子商务</a>
<ul class="ulv">
<li><a href="">1.1</a></li>
<li><a href="">1.2</a></li>
<li><a href="">1.3</a>
<ul class="ulv">
<li><a href="">1.1.1</a></li>
<li><a href="">1.2.1</a></li>
<li><a href="">1.3.1</a><ul class="ulv">
<li><a href="">1.1.1</a></li>
<li><a href="">1.2.1</a></li>
<li><a href="">1.3.1</a></li>
</ul></li>
</ul></li>
</ul>
</li>
</ul>
</li>
<li> <a>娱乐</a>
<ul class="ulv" >
<li><a href="">亚洲娱乐</a></li>
<li><a href="">欧美娱乐</a></li>
<li><a href="">全球娱乐资讯</a></li>
</ul>
</li> <li> <a href="">体育新闻</a></li> </ul>
</body>
</html>

jquery菜单插件的更多相关文章

  1. 35+个实用jQuery菜单插件

    应用jQuery菜单插件可以让浏览者在浏览你的网页时获得最好的动态导航.jQuery是一个轻量级.跨浏览器的JavaScript框架(库),效果非常给力,它强调并简化了JavaScript.CSS和H ...

  2. 《JQuery常用插件教程》系列分享专栏

    <JQuery常用插件教程>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201719.html 文章 使用jquery插件实现图 ...

  3. 分享21个基于jquery菜单导航的效果

    jquery导航菜单插件制作jquery动画菜单熔岩灯菜单效果更新时间:02月15日 14:53:03 虾米精选-菜单导航-导航菜单 0浏览 / ★★★☆☆星级 / 未知软件大小/ jquery导航菜 ...

  4. jQuery Wheel 环形菜单插件5种效果演示

    很酷的菜单-jQuery Wheel 环形菜单插件5种效果演示在线预览 下载地址 实例代码 <div class="container"> <!-- Top Na ...

  5. 一款效果精致的 jQuery 多层滑出菜单插件

    想要以用户友好的方式呈现多级菜单是件不容易的事情,而且还要跨浏览器兼容就更难了.Multi-Level Push Menu 这款 jQuery 插件提供了呈现这种菜单的解决方案,能够让你无限制的展示菜 ...

  6. Smint – 用于单页网站制作的 jQuery 导航菜单插件

    Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...

  7. 网站开发常用jQuery插件总结(十)菜单插件superfish

    网站对于菜单的依赖其实并不是很大,我们完全可以不使用菜单来设计网站,显示网站内容.但是如果网站的分类太多,“也许”使用菜单作为网站导航可以使 用户 更方便的寻找内容.superfish插件就是用于实现 ...

  8. 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)

    (前端用重点整理博客地址)链接地址:http://www.cnblogs.com/atree/archive/2011/06/30/jQuery-smartMenu-javascript.html 一 ...

  9. Jquery多级菜单插件Slimmenu使用说明

    Jquery多级菜单插件Slimmenu使用说明 现在扁平化设计逐渐的成为了趋势,不管是pc web,还是移动互联网的应用开发,都在研究和设计Flat ui, 这里有一篇文章说明扁平化的设计的一些想法 ...

随机推荐

  1. MT【7】伯努利不等式

    评:伯努利不等式: 若$r\le0$或者$r\ge1$,$(1+x)^r\ge1+rx$, 若$0\le r\le1$,$(1+x)^r\le1+rx$

  2. Spark RDD操作之Map系算子

    在linux系统上安装solrCloud 1.依赖: JRE solr7.3 需要 java1.8 独立的zookeeper服务 ,zookeeper安装请参考: http://zookeeper.a ...

  3. Java创建文件

    public class FileTest { public static void main(String[] args) throws IOException { File file = new ...

  4. 【BZOJ1880】[Sdoi2009]Elaxia的路线(最短路)

    [BZOJ1880][Sdoi2009]Elaxia的路线(最短路) 题面 BZOJ 洛谷 题解 假装我们知道了任意两点间的最短路,那么我们怎么求解答案呢? 不难发现公共路径一定是一段连续的路径(如果 ...

  5. 监控(2)-php-fpm进程监控 shell

    #!/bin/bash #监控的网页地址url="http://dev2.jwsmed.com" #fastcgi启动/重启/停止脚本路径PROG=/data/fistsoft/p ...

  6. Linux磁盘和文件系统简介

    Linux磁盘和文件系统简介 1.文件系统:存储设备上存储数据的方式方法 磁盘主要由盘片.机械手臂.磁头和主轴马达组成,而数据的写入实际是写在盘片上,磁盘的最小存储单位为扇区,每个扇区为512字节,扇 ...

  7. 并发容器——ConcurrentHashMap

    ConcurreentHashMap的实现原理与使用 ConcurrentHashMap是线程安全且高效的HashMap. 为什么要使用ConcurrentHashMap 在并发编程中使用HashMa ...

  8. Android下载管理DownloadManager功能扩展和bug修改

    http://www.trinea.cn/android/android-downloadmanager-pro/ 本文主要介绍如何修改Android系统下载管理,以支持更多的功能及部分bug修改和如 ...

  9. JAVA类中获取项目路径

    在java web项目中获取项目的src/main/resource下的文件路径 当前类名.class.getClassLoader().getResource("/").getP ...

  10. <? extends T>和<? super T>的理解

    背景:对泛型中使用super和extends关键字进行分析总结. 问题: public class TestExtend { public static void main(String[] args ...