php+jQuery实现的三级导航栏下拉菜单显示效果


Posted in PHP onAugust 10, 2017

本文实例讲述了php+jQuery实现的三级导航栏下拉菜单显示效果。分享给大家供大家参考,具体如下:

首先看看效果图:

php+jQuery实现的三级导航栏下拉菜单显示效果

1.数据配置文件 db.php

<?php
return array(
  array(
    'one' => '关于我们',
    'two' => array(
      array(
        'three_tit' => '公司介绍',
        'three_cont' => array(
          '企业概况',
          '组织架构',
          '发展历程',
          '企业文化',
          '服务理念'
          )
      ),
      array(
        'three_tit' => '企业荣誉',
        'three_cont' => array(
          '获奖证书',
          '行业贡献',
          '资质认证',
          '协会活动',
          '公司的成就')
      ),
      array(
        'three_tit' => '销售网络',
        'three_cont' => array(
          '东北',
          '华北',
          '中东',
          '华南',
          '西南',
          '西北'
          )
      )
    )
  ),
  array(
    'one' => '产品展示',
    'two' => array(
      array(
        'three_tit' => '进出口贸易',
        'three_cont' => array(
          '数码产品',
          '最新能源',
          '新鲜水果',
          '肉类食品',
          '衣服',
          '金银首饰'
          )
      ),
      array(
        'three_tit' => '商业服务',
        'three_cont' => array(
          '资格认证',
          '人才培养',
          '热门商品推荐',
          '最新科技前沿'
        )
      )
    )
  ),
  array(
    'one' => '新闻中心',
    'two' => array(
      array(
        'three_tit' => '企业动态',
        'three_cont' => array(
          '公司新闻',
          '新品上市',
          '企业动态'
          )
      ),
      array(
        'three_tit' => '行业动态',
        'three_cont' => array(
          '媒体聚焦',
          '业内关注',
          '国内行情',
          '国际行情'
          )
      )
    )
  ),
  array(
    'one' => '联系我们',
    'two' => array(
      array(
        'three_tit' => '联系方式',
        'three_cont' => array(
        '在线客服',
        '通信地址',
        '电话传真',
        '在线留言'
        )
      ),
      array(
        'three_tit' => '人才招聘',
        'three_cont' => array(
          '项目经理',
          '助理秘书',
          '渠道代理',
          '网站工程师'
          )
      )
    )
  )
);
?>

2.index文件

<?php
header('Content-type:text/html;charset=utf-8');
 // 载入数据
$data = include './db.php';
  // 载入html文件
include './nav.html';
?>

3.nav.html文件

<!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" />
<script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
  $(function(){
    //对元素进行隐藏
    $('.menu>li').eq(4).find('s').hide();
    $('.two li').last().css('border','none');
    //鼠标移入和移出事件
    $('.menu li').hover(function(){
      $(this).find('.two').show();
      //鼠标移入和移出事件
      $('.two li').hover(function(){
        $(this).find('.hide').show();
      },function(){
        $(this).find('.hide').hide();
      });
    },function(){
      $(this).find('.two').hide();
    });
  })
</script>
<title>无标题文档</title>
<style type="text/css">
*{
  padding: 0;
  margin: 0;
}
body{
  font: 18px/50px '微软雅黑';
  color: #FFF;
}
li{
  list-style: none;
}
a{
  text-decoration: none;
  color: #FFF;
}
#nav{
  width: 610px;
  height: 50px;
  background: #01532B;
  margin: 30px auto;
  border-radius: 5px;
  box-shadow: 2px 3px 2px #479E33;
}
#nav ul.menu{
  padding: 0 5px;
}
#nav ul.menu li{
  width: 120px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  float: left;
  position: relative;
}
#nav ul.menu li a{
  display: block;
  text-shadow:0px 1px 1px #479E33;
}
#nav ul.menu li a:hover{
  color: #FFF;
  background: #479E33;
}
#nav ul.menu li s{
  width: 0px;
  height: 30px;
  border-left: 1px solid #479E33;
  display: block;
  position: absolute;
  right: 0;
  top: 10px;
}
#nav ul.menu li ul{
  position: absolute;
  top: 50px;
  left: 0;
  background: #479E33;
  border-radius: 0 0 3px 3px;
  box-shadow: 2px 3px 2px #479E33;
}
#nav ul.menu li ul li{
  border-bottom: 1px solid #479E33;
  width: 120px;
  position: relative;
}
#nav ul.menu li ul li a{
  font-size: 16px;
}
#nav ul.menu li ul li .hide{
  position: absolute;
  top: 0px;
  left: 120px;
}
#nav ul.menu li ul li .hide li{
  border-left: 1px solid #479E33;
}
#nav ul.menu li ul li .hide li a{
  font-size: 14px;
}
.two,.hide{
  display: none;
}
</style>
</head>
<body>
  <div id="nav">
    <ul class="menu">
      <li><a href="">网站首页</a><s></s></li>
      <?php foreach($data as $v) { ?>
      <li>
        <a href=""><?php echo $v['one'] ?></a><s></s>
        <ul class="two">
          <?php foreach ($v['two'] as $val) { ?>
          <li>
            <a href=""><?php echo $val['three_tit'] ?></a>
            <ul class="hide">
              <?php foreach ($val['three_cont'] as $value) { ?>
              <li><a href=""><?php echo $value ?></a></li>
              <?php } ?>
            </ul>
          </li>
          <?php } ?>
        </ul>
      </li>
      <?php } ?>
    </ul>
  </div>
</body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
在yii中新增一个用户验证的方法详解
Jun 20 PHP
解析strtr函数的效率问题
Jun 26 PHP
微信公众平台之快递查询功能用法实例
Apr 14 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
php实例化一个类的具体方法
Sep 19 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 #PHP
Laravel实现定时任务的示例代码
Aug 10 #PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 #PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 #PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 #PHP
PHP编程实现脚本异步执行的方法
Aug 09 #PHP
PHP并发查询MySQL的实例代码
Aug 09 #PHP
You might like
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
一起来写段JS drag拖动代码
2010/12/09 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
React组件的三种写法总结
2017/01/12 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python简单获取数组元素个数的方法
2015/07/13 Python
Python之os操作方法(详解)
2017/06/15 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
竞选体育委员演讲稿
2014/04/26 职场文书
春游踏青活动方案
2014/08/14 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
关于感恩的作文
2019/08/26 职场文书
PHP新手指南
2021/04/01 PHP
vue引入Excel表格插件的方法
2021/04/28 Vue.js
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android