Superfish是一个不错的jQuery下拉菜单插件,被广泛用于各种网站项目,但是其一个显著不足是无法为当前页面的菜单项添加高亮显示效果,本文将介绍如何解决这个问题。
关键字:Superfish菜单高亮、Superfish高亮显示当前页面的菜单项、Superfish高亮。
superfish的使用很简单,其参数如下:
- $.fn.superfish.defaults = {
- popUpSelector: 'ul,.sf-mega',
- hoverClass: 'sfHover',
- pathClass: 'overideThisToUse',
- pathLevels: 1,
- delay: 800,
- animation: {opacity:'show'},
- animationOut: {opacity:'hide'},
- speed: 'normal',
- speedOut: 'fast',
- cssArrows: true,
- disableHI: false,
- onInit: $.noop,
- onBeforeShow: $.noop,
- onShow: $.noop,
- onBeforeHide: $.noop,
- onHide: $.noop,
- onIdle: $.noop,
- onDestroy: $.noop
- };
以上参数列表及说明来自superfish官方网站:http://users.tpg.com.au/j_birch/plugins/superfish/options/
当用于独立项目的时候,就需要考虑为当前页面的菜单项目添加高亮效果
需要添加的javascript代码:
- var path = window.location.pathname.split('/');
- path = path[path.length-1];
- if (path !== undefined) {
- $(".sf-menu")
- .find("a[href$='" + path + "']")
- .parents('li')
-
- .addClass('current');
- }
上面的javascript代码是将预定义好的高亮效果(上例中的红色字体,带下划线)添加给li,如果想添加给a的话,去掉上面代码中第七行最前面的注释符号即可。