4.1下拉菜单使用制作教程帖
从SHL 3.8 开始 就有用户陆续反映不知如何制作动态的下拉导航菜单,于是乎,SHL官方响应群众要求,在最新的SHL4.1版本中加入了 main_menu 的扩展标签 main_menu_extend。
通过此标签你可以实现一些华丽的下拉菜单特效,就特效来说 狗头我向大家推荐 JQ 这个全世界都很流行的JS 框架,通过JQ 这款JS 框架可以实现一些极其华丽的特效,绝对不输FLASH 特效。。
好了,废话不多说,最近经常有很多坛友反映不知如何使用 main_menu_extend 这一标签。响应老大的号召,狗头我今天开一个教程帖,来给大家展示一个JQ 的下拉菜单制作的全过程。。 (说的不好 大家别喷哈~)
首先你需要制作一款静态HTML下拉菜单 如果不会的话那也没关系,网上别人制作好的也是一堆一堆的,找一款你满意的静态HTML 的下拉菜单嘛,狗头给大家推荐一个网站(嘿嘿,其实这还是灵魂告诉我的~)http://www.zcool.com.cn 站酷网, 里面真的有很多华丽的特效素材提供下载。
随便找一款吧... http://www.zcool.com.cn/gfx/ZNzE5MDA=.html 就它了,感觉不错。。 (是不是很面熟啊~ 嘿嘿,对了,之前我发的3.8 版本的下拉菜单就是用这款做的演示)
好了,特效选好就需要把文件下载下来,下载完成后,打开后你会发现里面有两个文件夹 和一个名为jQure-menu.html 的 HTML 文档,这些文件就是组成这个下拉菜单的必须文件啦。
首先把JS 文件夹和 image 文件夹复制到你的模版根目录下, 然后用DW打开 jQure-menu.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" />
- <title>dufeng007.cn</title>
- <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
- <script type=text/javascript>
- $(function(){
- $('#webmenu li').hover(function(){
- $(this).children('ul').stop(true,true).show('slow');
- },function(){
- $(this).children('ul').stop(true,true).hide('slow');
- });
- $('#webmenu li').hover(function(){
- $(this).children('div').stop(true,true).show('slow');
- },function(){
- $(this).children('div').stop(true,true).hide('slow');
- });
- });
- </script>
- <style type="text/css">
- * {
- margin:0;
- padding:0;
- }
- body {
- font-family:Arial, Verdana, Helvetica, sans-serif;
- font-family:"雅黑宋体", "微软雅黑", "新宋体", "宋体";
- font-size:1em;
- font-size:17px;
- color:#FFF;
- background:#050505;
- text-align:left;
- }
- a {
- color:#FFF;
- text-decoration:none;
- }
- ul {
- list-style:none;
- }
- #webmenu {
- height:37px;
- background:#333;
- font-size:1.3em;
- text-align:center;
- }
- #webmenu a {
- font-size:0.65em;
- }
- #webmenu li ul {
- display:none;
- }
- #webmenu li ul li {
- float:none;
- }
- *html #webmenu li ul li {
- display:inline;
- }
- #webmenu li ul a {
- float:none;
- height:32px;
- line-height:32px;
- padding:0 10px;
- text-transform:capitalize;
- }
- #webmenu .height-auto {
- line-height:15px;
- padding:5px 10px;
- }
- .second-menu, .third-menu, .fourth-menu {
- position:absolute;
- }
- .first-menu li {
- float:left;
- position:relative;
- }
- .first-menu a {
- float:left;
- display:block;
- padding:0 20px;
- height:35px;
- line-height:35px;
- background:#333;
- border-top:1px solid #4a4a4a;
- border-left:1px solid #4a4a4a;
- border-bottom:1px solid #242424;
- border-right:1px solid #242424;
- font-size:.7em;
- }
- .first-menu a:hover {
- background:#4698ca;
- border-top:1px solid #5db1e0;
- border-left:1px solid #5db1e0;
- }
- .second-menu {
- top:37px;
- right:0;
- }
- *html .second-menu {
- right:-1px;
- }
- .second-menu a {
- font-size:11px;
- }
- .second-menu a.arrow {
- background:#3a3a3a url(image/arrow.gif) no-repeat right top;
- }
- .second-menu a.arrow:hover {
- background:#4698ca url(image/arrow.gif) no-repeat right -32px;
- }
- .second-menu a.arrow-02 {
- background:#3a3a3a url(image/arrow.gif) no-repeat right -64px;
- }
- .second-menu a.arrow-02:hover {
- background:#4698ca url(image/arrow.gif) no-repeat right -110px;
- }
- .third-menu, .fourth-menu {
- width:177px;
- top:0;
- left:177px;
- }
- .third-menu a {
- background:#4c4c4c;
- font-weight:normal;
- border-top:1px solid #595959;
- border-left:1px solid #595959;
- border-bottom:1px solid #333;
- border-right:1px solid #333;
- }
- #subMgm {
- width:177px;
- }
- #subMgm .third-menu {
- left:177px;
- }
- #subMgm .fourth-menu {
- left:177px;
- }
- #subMusic, #subNews {
- width:177px;
- }
- </style>
- </head>
- <body>
- <ul id="webmenu" class="first-menu">
- <li><a href="#" style="color:#ff0; background:none; border:none;" target="_self">网站大全</a></li>
- <li><a href="#" target="_self">建立网站</a>
- <ul style="display: none;" id="subMusic" class="second-menu">
- <li><a href="#" class="arrow" target="_self">域名空间</a>
- <ul class="third-menu">
- <li><a href="http://www.fatcow.com/">fatcow</a></li>
- <li><a href="http://www.justhost.com/">justhost</a></li>
- <li><a href="http://www.ipower.com/">ipower</a></li>
- <li><a href="http://www.inmotionhosting.com/">inmotion</a></li>
- <li><a href="http://www.ixwebhosting.com/index.php/v2/pages.dspmain">ixweb</a></li>
- <li><a href="http://www.supergreenhosting.com/">supergreen</a></li>
- <li><a href="http://www.hostgator.com/">hostgator</a></li>
- <li><a href="http://www.powweb.com/">powweb</a></li>
- <li><a href="http://www.startlogic.com/">startlogic</a></li>
- <li><a href="http://www.greengeeks.com/">greengeeks</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">CSS 模版</a>
- <ul class="third-menu">
- <li><a href="http://www.mezzoblue.com/zengarden/alldesigns/">zengerden</a></li>
- <li><a href="http://www.freecsstemplates.org/">freecsstemplates.org</a></li>
- <li><a href="http://www.oswd.org/">oswd.org</a></li>
- <li><a href="http://www.opendesigns.org/">opendesigns.org</a></li>
- <li><a href="http://www.cssplay.co.uk/">cssplay</a></li>
- <li><a href="http://www.studiopress.com/">studiopress</a></li>
- <li><a href="http://www.styleshout.com/">styleshout</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">CSS 学习</a>
- <ul class="third-menu">
- <li><a href="http://www.x-css.cn/">ken's blog</a></li>
- <li><a href="http://www.ndoherty.com/portfolio/">ndoherty</a></li>
- <li><a href="http://www.inlco.cn/">andy's blog</a></li>
- <li><a href="http://www.cssplay.co.uk/">cssplay</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">博客制作</a>
- <ul class="third-menu">
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">素材下载</a>
- <ul class="third-menu">
- <li><a href="http://flashden.net/">flashden.net</a></li>
- <li><a href="http://www.zcool.com.cn/">站酷</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">管理维护</a>
- <ul class="third-menu">
- <li><a href="http://www.chinaz.com/">中国站长</a></li>
- <li><a href="http://www.68design.net/Web-Guide/">网页设计师联盟</a></li>
- <li><a href="http://www.blueidea.com/">蓝色理想</a></li>
- <li><a href="http://homepage.yesky.com/">天极网页</a></li>
- <li><a href="http://learning.artech.cn/">前沿教室</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><a href="#" target="_self">工作生活</a>
- <ul id="subNews" class="second-menu">
- <li><a href="#" class="arrow" target="_self">搜索</a>
- <ul class="third-menu">
- <li><a href="http://www.baidu.com/">百度</a></li>
- <li><a href="http://www.google.cn/">Google</a></li>
- <li><a href="http://dir.sogou.com/">搜狐</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">新闻</a>
- <ul class="third-menu">
- <li><a href="http://www.sina.com.cn/">新浪</a></li>
- <li><a href="http://www.qq.com/">腾讯</a></li>
- <li><a href="http://www.sohu.com/">搜狐</a></li>
- <li><a href="http://www.163.com/">网易</a></li>
- <li><a href="http://www.ifeng.com/">凤凰网</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">招聘</a>
- <ul class="third-menu">
- <li><a href="http://www.chinahr.com/index.htm">中华英才网</a></li>
- <li><a href="http://www.51job.com/">前程无忧</a></li>
- <li><a href="http://www.zhaopin.com/">智联招聘</a></li>
- <li><a href="http://www.cjol.com/">中国人才热线</a></li>
- <li><a href="http://www.01job.cn/">上海第一招聘</a></li>
- <li><a href="http://www.528.com.cn/">528招聘网</a></li>
- <li><a href="http://www.1010jz.com/">1010兼职网</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">网赚</a>
- <ul class="third-menu">
- <li><a href="http://www.vikecn.com/">威客中国</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">购物</a>
- <ul class="third-menu">
- <li><a href="#" class="arrow" target="_self">网站</a>
- <ul class="fourth-menu">
- <li><a href="http://www.taobao.com/">淘宝网</a></li>
- <li><a href="http://www.dangdang.com/">当当网</a></li>
- <li><a href="http://www.eachnet.com/">易趣网</a></li>
- <li><a href="http://youa.baidu.com/">百度有啊</a></li>
- <li><a href="http://www.amazon.cn/">卓越网</a></li>
- <li><a href="http://www.paipai.com/">拍拍网</a></li>
- <li><a href="http://china.alibaba.com/">阿里巴巴</a></li>
- <li><a href="http://www.360buy.com/">京东商城</a></li>
- <li><a href="http://www.gumzzi.com/">锦上添花女装</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">快递公司</a>
- <ul class="fourth-menu">
- <li><a href="http://www.sto.cn/">申通快递</a></li>
- <li><a href="http://www.yto.net.cn/">圆通快递</a></li>
- <li><a href="http://www.ems.com.cn/">EMS特快专递</a></li>
- <li><a href="http://www.sf-express.com/">顺丰快递</a></li>
- <li><a href="http://www.ttkdex.com/">天天快递</a></li>
- <li><a href="http://www.zto.cn/">中通快递</a></li>
- <li><a href="http://www.yundaex.com/www/index.html">韵达快运</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">电子支付</a>
- <ul class="fourth-menu">
- <li><a href="https://www.alipay.com/">支付宝</a></li>
- <li><a href="https://www.99bill.com/">快钱</a></li>
- <li><a href="https://www.tenpay.com/">财付通</a></li>
- <li><a href="https://www.paypal.com/c2">paypal</a></li>
- <li><a href="https://www.baifubao.com/">百付宝</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">科技</a>
- <ul class="third-menu">
- <li><a href="http://www.patent-cn.com/">专利之家</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">休闲娱乐</a>
- <ul style="display: none;" id="subMgm" class="second-menu">
- <li><a href="#" class="arrow" target="_self">游戏</a>
- <ul class="third-menu">
- <li><a href="#" class="arrow" target="_self">网络游戏</a>
- <ul class="fourth-menu">
- <li><a href="http://wow.163.com/">魔兽世界</a></li>
- <li><a href="http://au.9you.com/web_v5/index_top.html">劲舞团</a></li>
- <li><a href="http://popkart.tiancity.com/homepage/">跑跑卡丁车</a></li>
- <li><a href="http://zt.ztgame.com/">征途</a></li>
- <li><a href="http://wd.gyyx.cn/">问道</a></li>
- <li><a href="http://ploy.bnb.sdo.com/20070904/web/flash.htm">泡泡堂</a></li>
- <li><a href="http://rxjh.17game.com/">热血江湖</a></li>
- <li><a href="http://www.fsjoy.com/">街头篮球</a></li>
- <li><a href="http://xyq.163.com/">梦幻西游</a></li>
- <li><a href="http://speed.qq.com/index.shtml">QQ飞车</a></li>
- <li><a href="http://mxd.sdo.com/homepage.htm">冒险岛</a></li>
- <li><a href="http://sh.xoyo.com/">水浒Q传</a></li>
- <li><a href="http://cf.qq.com/">穿越火线</a></li>
- <li><a href="http://tl.changyou.com/">天龙八部</a></li>
- <li><a href="http://zhuxian.wanmei.com/">诛仙</a></li>
- <li><a href="http://wulin2.wanmei.com/">武林外传</a></li>
- <li><a href="http://world2.wanmei.com/">完美世界</a></li>
- <li><a href="http://sf.17game.com/index.php">特种部队</a></li>
- <li><a href="http://mir2.sdo.com/web/index.html">热血传奇</a></li>
- </ul>
- </li>
- <li><a href="http://www.17173.com/">17173</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">电影</a>
- <ul class="third-menu">
- <li><a href="http://www.xunlei.com/">迅雷看看</a></li>
- <li><a href="http://www.gougou.com/">狗狗搜索</a></li>
- <li><a href="http://www.verycd.com/">电驴下载</a></li>
- <li><a href="http://www.80s.cn/">80s手机电影</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">视频</a>
- <ul class="third-menu">
- <li><a href="http://www.youku.com/">优酷</a></li>
- <li><a href="http://www.tudou.com/">土豆</a></li>
- <li><a href="http://www.ku6.com/">酷6</a></li>
- <li><a href="http://6.cn/">六间房</a></li>
- <li><a href="http://www.56.com/">56</a></li>
- </ul>
- </li>
- <li><a href="#" class="arrow" target="_self">音乐</a>
- <ul class="third-menu">
- <li><a href="http://mp3.baidu.com/">百度-MP3</a></li>
- <li><a href="http://www.qq163.com/">QQ163</a></li>
- <li><a href="http://www.1ting.com/">一听音乐</a></li>
- </ul>
- </li>
- </ul>
- </li>
- <li><a href="http://dufeng007.cn/sample.html" class="arrow" target="_blank">我的网站</a></li>
- </ul>
- </body>
- </html>
复制代码打开文档之后我们会看到这个HTML 文档中 有很多代码。。 哎呀呀 真是看的眼花缭乱。。 那就删减一些吧。。
首先我们把CSS 提取出来,在模版文件夹中新建一个menu.css 把这段CSS 放入其中,然后模板的index.php 和common.php 中引入menu.css 。。 把JS 也提取出来 复制到JS 文件中,同样引入。。
这样之后一看,哇哈哈真爽~少了一大截。。 不过貌似还是很多样子啊! 不方便分析,那就再删吧, 菜单不需要那么多,最多三级就可以了嘛,分析的话 那也只需要一段... 删呀删的, 留下最重要的一部分就OK了。。。
- <!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>dufeng007.cn</title>
- <script type="text/javascript" src="<?php echo get_skin_root()?>js/jquery-1.3.2.min.js"></script>
- </head>
- <body>
- <ul id="webmenu" class="first-menu">
- <li><a href="#" style="color:#ff0; background:none; border:none;" target="_self">首页</a></li>
- <li><a href="#" target="_self">建立网站</a>
- <ul id="subMusic" class="second-menu">
- <li><a href="#" target="_self">域名空间</a>
- <ul>
- <li><a href="http://www.fatcow.com/">fatcow</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </body>
- </html>
复制代码哈哈,这样一看的话,需要分析的代码就更少了。。真爽呀~~ 哦嗬嗬~
从以上代码段可以看出来,这个下拉菜单的结构就是
- <li><a href="#" target="_self">建立网站</a>
- <ul style="display: none;" id="subMusic" class="second-menu">
- <li><a href="#" class="arrow" target="_self">域名空间</a>
- <ul class="third-menu">
- <li><a href="http://www.fatcow.com/">fatcow</a></li>
- </ul>
- </li>
- </ul>
- </li>
复制代码他的主结构也就是
<ul>
<li>
</li>
</ul>
的结构,而有子类的话也依葫芦画瓢
<ul>
<li> // 第一层li
<ul>
<li>// 第二层li
</li>
</ul>
</li>
</ul>
这样一看就简单明了啦...
接着我们打开官方对于main_menu_extend标签的标签说明,官方给出一个自带样式 正好也是
<ul>
<li>
</li>
</ul
的结构, 那就方便啦~ 直接套就成。。
官方给的标签是
- main_menu_extend('<ul>||</ul>', '<li>||</li>','<li>||</li>')
复制代码参照这个标签说明,我们再对比下结构大致就能了解到这几个参数的意思..
第一个<ul>||</ul> 不用说啦,肯定就代表了 结构里面的ul 的意思。
另外两个li 那也就是代表了 结构里面的两个li ...
根据官方的标 签说明,我们能知道 第二个参数代表了 第一层的li 。。第三个参数代表了 第二层的 li。。
参照这个标签,对比下结构,于是我们就可以得到一个标签
- <?php main_menu_extend('<ul id="subMusic" class="second-menu">||</ul>','<li>||</li>','<li>||</li>'); ?>
复制代码UL 中的 style="display: none;" 可以写到CSS 中,在这里就不需要加入了。。
好啦,用此标签调用出来的应该是没错的。。但是这样还不够。。
从结构上来看,我们找的下拉菜单结构中ul 分为好几个种类.. 二级的class 是second-menu 三级的却是 third-menu ,这可不行呀.. 标签只提供了一个ul 参数,那怎么办呢.. 很简单.. 改CSS !
我们只需要一个second-menu 的class 其他什么三级 四级 菜单,全部换掉,比如CSS 中的 .third-menu 标识,我们就可以替换成 .second-menu li ul, 经此替换处理等等操作之后,我们能够得到menu.css 中的文件 就是
- * {
- margin:0;
- padding:0;
- }
- body {
- font-family:Arial, Verdana, Helvetica, sans-serif;
- font-family:"雅黑宋体", "微软雅黑", "新宋体", "宋体";
- font-size:1em;
- font-size:17px;
- color:#FFF;
- background:#050505;
- text-align:left;
- }
- a {
- color:#FFF;
- text-decoration:none;
- }
- ul {
- list-style:none;
- }
- #webmenu {
- height:37px;
- background:#333;
- font-size:1.3em;
- text-align:center;
- }
- #webmenu a {
- font-size:0.65em;
- }
- #webmenu li ul {
- display:none;
- }
- #webmenu li ul li {
- float:none;
- }
- *html #webmenu li ul li {
- display:inline;
- }
- #webmenu li ul a {
- float:none;
- height:32px;
- line-height:32px;
- padding:0 10px;
- text-transform:capitalize;
- }
- #webmenu .height-auto {
- line-height:15px;
- padding:5px 10px;
- }
- .second-menu{
- position:absolute;
- }
- .first-menu li {
- float:left;
- position:relative;
- }
- .first-menu a {
- float:left;
- display:block;
- padding:0 20px;
- height:35px;
- line-height:35px;
- background:#333;
- border-top:1px solid #4a4a4a;
- border-left:1px solid #4a4a4a;
- border-bottom:1px solid #242424;
- border-right:1px solid #242424;
- font-size:.7em;
- }
- .first-menu a:hover {
- background:#4698ca;
- border-top:1px solid #5db1e0;
- border-left:1px solid #5db1e0;
- }
- .second-menu {
- display: none;
- top:37px;
- right:0;
- }
- *html .second-menu {
- right:-1px;
- }
- .second-menu a {
- font-size:11px;
- }
- .second-menu a.arrow {
- background:#3a3a3a url(image/arrow.gif) no-repeat right top;
- }
- .second-menu a.arrow:hover {
- background:#4698ca url(image/arrow.gif) no-repeat right -32px;
- }
- .second-menu a.arrow-02 {
- background:#3a3a3a url(image/arrow.gif) no-repeat right -64px;
- }
- .second-menu a.arrow-02:hover {
- background:#4698ca url(image/arrow.gif) no-repeat right -110px;
- }
- .second-menu li ul, .fourth-menu {
- width:177px;
- top:0;
- left:177px;
- }
- .second-menu li ul a {
- background:#4c4c4c;
- font-weight:normal;
- border-top:1px solid #595959;
- border-left:1px solid #595959;
- border-bottom:1px solid #333;
- border-right:1px solid #333;
- }
- #subMgm {
- width:177px;
- }
- #subMgm .second-menu li ul {
- left:177px;
- }
- #subMgm .fourth-menu {
- left:177px;
- }
- #subMusic, #subNews {
- width:177px;
- }
复制代码大功告成~好了,下面总结一下,
第一步: 把JS 和图片复制到模版中,第二步 分析代码得出标签,第三步 把标签复制到index.php 和common.php 中的适当位置。。。
好了... 如此一番累死累活的操作之后,我们的华丽丽的下拉菜单就完成啦~ 而且还支持3级 4级。。无限级哦~ 好好欣赏一下吧。。