本文实例讲述了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+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。