利用JQuery实现顶部导航栏功能

今天给大家介绍一下,如何利用JQuery实现顶部导航栏功能。其实原理很简单就是利用css和JQuery样式选择器实现的。

下面举个例子具体介绍一下如何这些功能,案例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery三级下拉列表导航菜单</title>

<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>

<style type="text/css">
*{margin: 0; padding: 0;}
body{ font-size: 12px; }
li{ list-style: none;}
ul.nav li{ width: 200px; text-align:center;}
ul.nav > li{ float: left; margin-right:10px;}
ul.nav li h3{height: 40px; line-height: 40px;}
ul.nav > li > h3{ background: #72a7ff;}
ul.nav > li > ul > li h3{ background: #ffd9d9;}
ul.nav > li h3:hover,.choice{ background: #ffc0c0!important;}
ul > li > ul{ display: none;}
ul > li.on > ul{ display: block;}
ul.nav li{ position: relative;}
ul.nav > li > ul > li ul{ position:  absolute; top: 0; right: -200px;}
ul.nav span.sub{ position: absolute; display: block; right:10px; top: 0; width: 10px; height: 40px; background: url(images/arrows.png) no-repeat center center;}
</style>

<script type="text/javascript">
    $(document).ready(function() {
        $("ul.nav li").hover(function(){
            $(this).addClass("on");

        },
        function(){
            $(this).removeClass("on");

        })
    });

    $(document).ready(function() {
        $("ul.nav li").hover(function(){
            $(this).parent("ul").siblings("h3").addClass("choice");

        },
        function(){
            $(this).parent("ul").siblings("h3").removeClass("choice");
        })
    });

    $(document).ready(function() {       
            if ($("ul.nav li").find("ul") .html()!="") {
                $("ul.nav li").parent("ul").siblings("h3").append("<span class='sub'></span>");                
            }
    });
</script>


</head>
<body>
<ul class="nav">
  <li><h3>我的网站</h3>
    <ul>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3>
              <ul>
                <li><h3>4级分类</h3>
                  <ul>
                    <li><h3>5级分类</h3></li>
                    <li><h3>5级分类</h3></li>
                    <li><h3>5级分类</h3></li>
                    <li><h3>5级分类</h3></li>
                  </ul>
                </li>
                <li><h3>4级分类</h3></li>
                <li><h3>4级分类</h3></li>
                <li><h3>4级分类</h3></li>
              </ul>
            </li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
    </ul>
  </li>
  <li><h3>我的网站</h3>
    <ul>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
    </ul>
  </li>
  <li><h3>我的网站</h3>
    <ul>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
    </ul>
  </li>
  <li><h3>我的网站</h3>
    <ul>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
        <li><h3>2级分类</h3>
          <ul>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
            <li><h3>3级分类</h3></li>
          </ul>
        </li>
    </ul>
  </li>
</ul>
</body>
</html>

运行截图:

实现思路:

1.首先利用css将二级三级菜单隐藏起来。

2.然后利用Jquery实现对菜单的显示和隐藏。

如果对文章有什么疑义或者有啥问题都可以找我交流QQ:208017534 欢迎打扰!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潇涧技术专栏

Matlab Image Segmentation

参考文献: 基于迭代(自动阈值)算法的医学图像增强方法 该文献实现了全局和局部的图像分割代码,使用的都是迭代算法,对比下面的结果可以看出,在灰度差异特别大的图像...

391
来自专栏Ldpe2G的个人博客

Mxnet 实现图片快速风格化

1023
来自专栏Petrichor的专栏

leetcode: 84. Largest Rectangle in Histogram

592
来自专栏大数据挖掘DT机器学习

R语言与分类算法-神经网络

人工神经网络(ANN)从以下四个方面去模拟人的智能行为: 物理结构:人工神经元将模拟生物神经元的功能 计算模拟:人脑的神经元有局部计算和存储的功能,通...

33310
来自专栏技术沉淀

01 The Learning Problem

也就是要依次回答:何时可以用机器学习?为何可以机器学习?怎样机器学习?怎样更好地机器学习?构建一幅大Picture!

822
来自专栏Ldpe2G的个人博客

Mxnet 实现图片快速风格化

论文链接:Perceptual Losses for Real-Time Style Transfer and Super-Resolution

1367
来自专栏大数据智能实战

细小人脸检测的实践(Finding Tiny Faces论文代码复现)

https://www.cs.cmu.edu/~peiyunh/tiny/这个主页上介绍了CVPR中的一篇文章,关于细小人脸检测的。小物体检测一直还是CV界比较...

34610
来自专栏深度学习那些事儿

利用pytorch实现Fooling Images(添加特定噪声到原始图像,使神经网络误识别)

fooling images,顾名思义,就是指一张图片,虽然上面通过肉眼看到的是松鼠(举个例子),但是因为这张图片加了一些特定的噪声,所以神经网络会将它误识别为...

2055
来自专栏AI科技评论

大会 | DiracNets:无需跳层连接的ResNet

AI 科技评论按:本文作者 David 9,首发于作者的个人博客,AI 科技评论获其授权转载。 虚拟化技术牺牲硬件开销和性能,换来软件功能的灵活性;深度模型也类...

3196
来自专栏深度学习那些事儿

利用pytorch实现神经网络风格迁移Neural Transfer

载入图像输入大小无要求,最终会被剪裁到相同大小,这是因为神经网络设计了一个特定的输入大小,因此内容图像和风格图像必须大小一致。

1692

扫码关注云+社区