网站运营
位置:首页>> 网站运营>> WordPress3.0无限级分类下拉菜单制作方法

WordPress3.0无限级分类下拉菜单制作方法

  发布时间:2011-12-02 12:45:19 

标签:WordPress,分类,下拉菜单

帮朋友做个小导航时用到了下拉菜单,话说WordPress3.0以上版本的”wp_nav_menu()”真是好用,加上主题自定义菜单的设置简直可以说是完美的网站导航。

涉及到下拉菜单制作的方法最核心的还是鼠标移动到上面的处理。下面是调用wp_nav_menu()函数后的HTML结构(做解释用):

<div class="menu-菜单名-container">
    <ul class="menu" id="menu-菜单名">
        <li class="menu-tiem"><a href="#">菜单项目1</a>
            <ul class="sub-menu">
                <li><a href="#">子菜单项目1-1</a></li>
                <li><a href="#">子菜单项目1-2</a></li>
                 …
            </ul>
        </li>
        <li><a href="#">菜单项目2</a></li>
    </ul>
</div>

这是一种很经典很优雅的导航HTML代码,在IE6以上以及标准浏览器中要实现下拉效果只用一句CSS就能搞定。比如下面的示例代码(可自定义):

.menu li a { float:left; height:35px; width:100px;/*菜单高度与宽度*/ line-height:35px; text-align:center; color:#ccc; text-align:center; }

.menu li { float:left; height:1%; background:#000; }

.menu-sjys-container { position:absolute; z-index:1000;}

.menu li ul li { clear:both; border-bottom:1px solid #333; border-right:none; }

.menu-item { position:relative; border-right:1px dotted #333; }

.menu-item:hover>.sub-menu{ display:block; /*下拉效果只用到这一段代码*/ }

.sub-menu { position:relative; left:1px; margin:0; z-index:101; display:none;/*一般情况下隐藏子菜单*/ }

.sub-menu ul.sub-menu { position:absolute; left:100px; top:0;}

上面的这两段代码在IE6以上以及标准浏览器中表现的很完美,原因是IE6这种老浏览器还不支持任何标签的伪类属性,即htmlTag:hover。所以为了兼容我们又不得不用JS来实现(纯CSS亦可)。我大概写了一段JS可以勉强达到效果,但不知道为什么在IE中切换菜单时会有闪动的感觉,这个得求教JS高手了哈。

<!–[if lt IE 7]>
<script type="text/javascript">
//<![CDATA[
/*导航联动效果*/
(function(){
function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
function hoverSubMenu(node, flag) {
    node.onmouseover = function() {
        var subMenu = getElementsByClass("sub-menu", this)[0];
        if (subMenu) {
            subMenu.style.display = "block";
        }
    }
    node.onmouseleave = function() {
        var subMenu = getElementsByClass("sub-menu", this)[0];
        if (subMenu) {
            subMenu.style.display = "none";
        }
    }
}
var menuItems = getElementsByClass("menu-item");
for (var i=0; i<menuItems.length; i++) {
    hoverSubMenu(menuItems[i], i);
}
})();
//]]>
</script>
<![endif]—>

问题在于W3C对onmouseout事件处理方法不是很理想,微软IE支持的onmouseleave方法确可以正常工作。

原文地址:http://www.keelii.com/wordpress-wp-nav-menu/

0
投稿

猜你喜欢

  • 前面装过一次PHP5.2,但PHP5.3与PHP5.2相比,变化很多。由于PHP5.3的全新特效及改进,原有的isapi方式解析PHP脚本已
  • Photoshop官方提供免费相册,非常酷的一个相册,全站基于Flash技术架构的,其操作非常方便。容量大小为2G,支持图片直接外链,仅可上
  • 需要以下设置:1、后台-采集-文档关键词维护 添加关键词及链接2、后台-系统-核心设置 关键字替换(是/否)使用本功能会影响HTML生成速度
  • WordPress是使用PHP语言和MySQL数据库开发的一个极为流行的Blog(博客、网志)系统,功能非常强大,插件和模板众多,易于扩充功
  • 随着互联网的快速发展,越来越多的网站面临着改版的需求,当我们隔一段时间再上某网站时,有时会惊讶的发现该网站已经改版了。其实网站改版就像是做整
  • 阅读上一篇:一个完美网站的101项指标.第一部分.概述 内容是一个网站最有价值的部分,内容为王就是这个意思,用户访问您的网站的唯一目的是获取
  • 许多web浏览器都比IE更易于使用,并且不会那么容易就受到黑客和其它威胁的攻击。  大家似乎很难想起来还有许多可以替代IE的web
  • 北京时间12月3日消息,据国外媒体报道,正在与美国最大的分类信息网站Craigslist对簿公堂的eBay周三表示,为从分类列表中获取更多营
  • 昨天谈到博客作者对垃圾留言的厌恶。今天再谈谈搜索引擎可能怎样鉴别垃圾留言。在点石论坛里看到了太多帖子讨论博客留言群发软件以及各种各样的经验。
  • 互联网是一个快节奏的环境。世界各地的人们在任何时间都能来到你的站点,你的每个访客都有不同的目的和需求。不像实体零售商店,你不能看到谁来到了你
  • 性能是任何成功网站的一个关键因素。越来越多的人选择使用WordPress搭建个人博客、CMS内容展示或是企业网站,但可能由于高流量或一些未知
  • 网络营销和传统营销比起来,具有投资小,见效快,回报大的特点,企业在发展的过程中,可以利用互联网进行一种全新的网络营销模式,推广自己企业的产品
  • 很多企业所有者发现Linux——曾被认为是“小众”的操作系统,可以提供很多可以依赖的组件和服务。Linux现在已经进入了世界最大的数据中心,
  • 本人是从事网站建设行业,站长朋友们都说专业做网站的来做站长,可以省不少力气,事实证明确实是这样,现在的网站建设行业粥少僧多,行业朋友们都活的
  • 跨站脚本的名称源自于这样一个事实,即一个Web 站点(或者人)可以把他们的选择的代码越过安全边界线注射到另一个不同的、有漏洞的Web 站点中
  • 自从唐骏先生出任金和软件董事之后,媒体记者问得我最多的问题是:金和软件接下来还要做什么?我要说的是,金和有很多事情会引起大家关注,有的事情还
  • 记住一句话:执行ASP程序的地方不允许写入文件;允许写入文件的地方不允许运行ASP程序.在IIS里,选择不允许写入文件的目录如上传图片的UP
  • 一。相对大小的字号在英文页面中,固定字号被称为&ldquo; frozen font sizes&rdquo;,使用固定大小
  • 对于我们经常使用的windows2000/xp,其中有许多服务,那么这些服务都是干什么的呢?我们需要哪些?不需要哪些?在此向大家做一个介绍。
手机版 网站运营 asp之家 www.aspxhome.com