jQuery菜单插件用法实例


Posted in Javascript onJuly 25, 2015

本文实例讲述了jQuery菜单插件用法。分享给大家供大家参考。具体如下:

这里要分享的是一个菜单插件,在http://plugins.jquery.com/keleyi/ 看到的,使用找个插件可以制作页面底部向上弹出的菜单,不一定在页底,还有多种其他方式。

jQuery菜单插件js文件:

/*!
* Keleyi(jQuery Menu)
* version: 0.1.6
* Copyright (c) 2013 KeLeyi
*/
(function ($) {
  $.fn.keleyi = function (options) {
    var settings = $.extend({
      width: '986px',
      margin: '0px auto',
      isAutoAddTriangle: true,
      item_background_color_hover: '#005500',
      item_background_color: 'transparent',
      item_width: 'auto',
      item_margin: '0px 0px 0px 10px',
      bar_height: 'auto',
      bar_position: 'fixed',
      bar_background_color: "#008000",
      bar_bottom: "0px",
      mainItem_color: "white",
      subItem_color:"white"
    }, options);
    $(this).addClass("keleyi-menu");
    $(this).css({ "width": settings.width, "margin": settings.margin });
    $(this).wrap("<div class='keleyi-menubar'></div>");
    var k_bar = $(this).parent();
    k_bar.css({ "background-color": settings.bar_background_color
    , "height": settings.bar_height, "position": settings.bar_position
    , "bottom": settings.bar_bottom, "min-width": settings.width
    });
    if (! -[1, ] && !window.XMLHttpRequest) {
      if (k_bar.css("position") == "fixed") {
        ie6FixedBottom(k_bar, settings.bar_bottom);
      }
    }
    $(this).parent().append("<div style='width:100%;clear:both;height:0px;overflow:hidden'></div>");
    $(this).find(">li").css({ "width": settings.item_width, "background-color": settings.item_background_color, "margin": settings.item_margin
    , "padding": "0px", "white-space": "nowrap", "height": "20px", "float": "left", "text-align": "center"
    , "display": "inline-block", "position": "relative"
    });
    $(this).find(">li a").css({ "color": "white", "line-height": "20px"
    , "display": "block", "font-size": "14px"
    });    
    if (settings.isAutoAddTriangle)
      $(this).find(">li").has('ul').find("a:first").append("<b></b>");
    $(this).find(">li").find("a:first").css({ "width": "100%", "overflow": "hidden", "color": settings.mainItem_color });
    $(this).find(">li").find("b").css({ "border-color": ("transparent transparent " + settings.mainItem_color) })
    $(this).find(">li ul").css({ "padding": "0px", "list-style-type": "none"
    , "background-color": "transparent", "position": "absolute", "display": "none"
    });
    $(this).find(">li").find("li a").css({ "color": settings.subItem_color });
    $(this).find(">li>a").mouseover(function () {
      $(this).parent().css({ "background-color": settings.item_background_color_hover });
      var k_ul = $(this).parent().find("ul");
      if (k_ul.length < 1)
        return;
      k_ul.css({ "background-color": settings.item_background_color_hover, "top": $(this).parent().position().top - (k_ul.height())
        , "left": "0px", "margin": "0px"
      }).show();
      if (k_ul.width() < $(this).parent().width())
        k_ul.width($(this).parent().width());
    });
    $(this).find(">li").mouseleave(function () {
      $(this).find("ul").hide();
      $(this).css("background-color", settings.item_background_color);
    });
    function ie6FixedBottom(fixedobj, bottommargin) {
      fixedobj.css({ "position": "absolute" });
      var k_bm = new Number;
      k_bm = Number(bottommargin.substring(0, bottommargin.length - 2));
      var obj = fixedobj[0];
      function setStyleTop() {
        obj.style.top = document.documentElement.scrollTop + document.documentElement.clientHeight
        - obj.offsetHeight - (parseInt(obj.currentStyle.marginTop, 0) || k_bm) - (parseInt(obj.currentStyle.marginBottom, 0) || k_bm)
      }
      window.onscroll = function () { setStyleTop(); }
      window.onresize = function () { setStyleTop(); }
    }
  }
} (jQuery));

插件css文件:

div.keleyi-menubar{width:100%;visibility:visible;padding:0px;}
ul.keleyi-menu{list-style-type:none;padding:0px;}
ul.keleyi-menu a{text-decoration:none}
ul.keleyi-menu a:hover{text-decoration:underline;}
ul.keleyi-menu>li li{padding:0px;}
ul.keleyi-menu li b{
display:inline-block;
width: 0;
height: 0;
border-width: 4px 4px;
border-style: solid;
border-color: transparent transparent #fff;
font-size: 0;
line-height: 0;
-moz-transition: -moz-transform .2s ease-in;
-o-transition: -o-transform .2s ease-in;
transition: transform .2s ease-in;
vertical-align:text-top;
margin-left:5px
}

jQuery菜单插件例子:

<!DOCTYPE html>
<html>
<head>
  <title>Keleyi Menu (jQuery Plugin)0.1.6 Demo- keleyi.com</title>
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="jquery.keleyi.js"></script>
  <link href="jquery.keleyi.css" type="text/css" rel="Stylesheet" />
  <style>body{margin: 0px;}</style>
</head>
<body>
  <div style="text-align:center;width:986px;margin:0px auto;">
    <h1>
      Keleyi</h1>
    A jQuery Menu Plugin
    <h2>Browser Support</h2>
    Keleyi 0.1.4-0.1.6:IE6+,Chrome,Firefox,Opera,Safari<br />
    Keleyi 0.1.3:IE8+(not support IE6),Chrome,Firefox,Opera,Safari
  </div>
  <div style="height: 360px;background-color: #66FF66;"></div>
  <ul id="keleyi-menu">
    <li><a href="">Home</a></li>
    <li><a href="http://plugins.jquery.com/keleyi/">jQuery</a>
      <ul>
        <li><a href="https://github.com/keleyi/keleyi">github</a></li>
      </ul>
    </li>
    <li><a href="/keleyi/">Keleyi</a></li>
    <li><a href="/keleyi/demo/11.htm">Demo 11</a></li>
    <li><a href="/keleyi/demo/">Demo</a>
      <ul>
        <li><a href="/keleyi/demo/1.htm">Demo 1</a></li>
        <li><a href="/keleyi/demo/2.htm">Demo 2</a></li>
        <li><a href="/keleyi/demo/3.htm">Demo 3</a></li>
        <li><a href="/keleyi/demo/4.htm">Demo 4</a></li>
        <li><a href="/keleyi/demo/5.htm">Demo 5</a></li>
      </ul>
    </li>
    <li><a href="/keleyi/demo/6.htm">Demo 6</a>
      <ul>
        <li><a href="/keleyi/demo/7.htm">Demo 7</a></li>
        <li><a href="/keleyi/demo/8.htm">Demo 8</a></li>
        <li><a href="/keleyi/demo/9.htm">Demo 9</a></li>
        <li><a href="/keleyi/demo/10.htm">Demo 10</a></li></ul>
    </li>
    <li><a href="/keleyi/demo/12.htm">Demo 12</a></li>
    <li><a href="/keleyi/demo/0x1x5/">Demo 13</a></li>
  </ul>
  <div style="height: 900px; visibility: visible; background-color: Olive"></div>
  <script type="text/javascript">
    $("#keleyi-menu").keleyi({ "item_width": "100px", "bar_position": "relative"
  , "margin": "0px auto 0px 0px", "item_margin": "0px", "mainItem_color": "black","subItem_color":"black","bar_background_color":"#ffffff","item_background_color_hover":"#eeeeee"
    });
  </script>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
javascript 处理事件绑定的一些兼容写法
Dec 24 Javascript
jQuery 表格插件整理
Apr 27 Javascript
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
jQuery实现点击小图显示大图代码分享
Aug 25 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
微信小程序之GET请求的实例详解
Sep 29 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
javascript单例模式的简单实现方法
Jul 25 #Javascript
JavaScript类继承及实例化的方法
Jul 25 #Javascript
JavaScript对Cookie进行读写操作实例
Jul 25 #Javascript
javascript去掉代码里面的注释
Jul 24 #Javascript
Jquery简单分页实现方法
Jul 24 #Javascript
javascript实现禁止鼠标滚轮事件
Jul 24 #Javascript
Css3制作变形与动画效果
Jul 24 #Javascript
You might like
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
使用Vue生成动态表单
2019/11/26 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
python中的五种异常处理机制介绍
2014/09/02 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
Python如何安装第三方模块
2020/05/28 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
python 爬取小说并下载的示例
2020/12/07 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
2019年c语言经典面试题目
2016/08/17 面试题
应届生污水处理求职信
2013/11/06 职场文书
信息部岗位职责
2013/11/12 职场文书
四风对照检查材料范文
2014/09/27 职场文书
见义勇为事迹材料
2014/12/24 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书