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 相关文章推荐
在PHP中使用灵巧的体系结构
Oct 09 PHP
PHP EOT定界符的使用详解
Sep 30 PHP
php 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
php连接数据库代码应用分析
May 29 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
phpcms模块开发之swfupload的使用介绍
Apr 28 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
php版微信返回用户text输入的方法
Nov 14 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
PHP使用函数用法详解
2018/09/30 PHP
web前端开发也需要日志
2010/12/09 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
python中文乱码的解决方法
2013/11/04 Python
Python实现的检测网站挂马程序
2014/11/30 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Python argparse模块使用方法解析
2020/02/20 Python
python 元组和列表的区别
2020/12/30 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
六一儿童节活动策划方案
2014/01/27 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
自荐信范文
2019/05/20 职场文书
2019军训心得体会
2019/06/27 职场文书
详解Python牛顿插值法
2021/05/11 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Python echarts实现数据可视化实例详解
2022/03/03 Python