乱翻乱教- jQuery 制作N级导航菜单 – 插件版


前几天做的jQuery实现N级导航菜单,实现起来超级简单,但是如果要将效果更丰富化的话,可能就不止这么点代码了。

于是乎,向笨笨先生(我哥)讨教了几番,得出了这么一个jquery menu 插件。代码依然很简单,稍微复杂点,可以在按钮放上去的时候触发一个动画效果,离开也可以触发一个动画效果,还添加了延迟释放效果(鼠标移开后有个缓冲,再消失)

代码如下:

(function($) { //N级导航插件
  $.fn.menu = function(options) {
    options = $.extend({
      delay: false
    }, options);

    this.find('li:has(ul)').hover(
      function() {
        var t = $(this);
        t.data('hide_menu', false);
        t.find('>ul').css('display', 'block'); // 可以换成动画效果
      },

      function() {
        var t = $(this);
        t.data('hide_menu', true);
        var hide_menu = function() {
          if (t.data('hide_menu')) {
            t.find('>ul').css('display', 'none'); // 可以换成动画效果
          }
        };
        options.delay ? setTimeout(hide_menu, options.delay)
            : hide_menu();
      }
    );
  };
})(jQuery);

代码非常简练,可以根据实际需求增加其他效果。
使用方法如下:


jQuery(function($) {  //调用插件
  //$('.menu').menu() //默认调用语法;
  $('.menu').menu({delay: 500}); //延迟500ms释放
})

PS:演示地址

哟?不错哎 订阅飞鱼的RSS Feeds 回去慢慢看^_^

您可能还对这些日志感兴趣

该文章已经被摸了350次。 共有 4 条评论

  1. 1. Yang 2009年7月15日 at 21:06

    我看到好多丰满的大妹子

    回复

    飞鱼 Reply:

    = = 我什么也没看见

    回复

  2. 2. 托尔·银月 2009年7月15日 at 23:13

    看到无数马子

    回复

  3. 3. 葉子 2009年7月17日 at 10:16

    pp真邪恶

    回复

发表评论

评论仅支持“a、abbr、strong、em、blockquote、code”几个简单的标签

Who am I ?

飞鱼,男,浙江人士。
非专业前端设计师兼程序员。
目前在 淘宝-淘日本 工作

最新在啃

actionscript javascript

新鲜的肉

最新评论

  • 小米: 您在我那留言“吓一跳”,哪里吓到了哦?呵呵
  • 小鑫: notpad++ …… 少了”e”
  • Bee君: 这些真的太深奥…..
  • 任鸟飞: 新浪微博 短网址 有白名单之多,令我很郁闷,打算弃用新浪微博。
  • 葉子: 我是更土的人,告诉我吧

订阅-rss-永久链接

MT
备案号:浙ICP备09020026号