jquery实现像栅栏一样左右滑出式二级菜单效果代码


Posted in Javascript onAugust 24, 2015

本文实例讲述了jquery实现像栅栏一样左右滑出式二级菜单效果代码。分享给大家供大家参考。具体如下:

这里演示了jquery实现像栅栏一样的左右滑出式二级菜单,会向左或向右滑出,支持中英文,使用时别忘了引入jquery插件。

运行效果截图如下:

jquery实现像栅栏一样左右滑出式二级菜单效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery栅栏菜单左右划出菜单</title>
<title>Grooveshark风格的菜单</title>
<script type="text/javascript" src="jquery1.3.2.js"></script>
<script type="text/javascript">
//jquery.grooveshark.js
jQuery.fn.grooveshark = function() { 
 return this.each(function() {
  var raw = this;
  var elm = jQuery(this);
  var width = elm.width();
  var tel = 1;
  var smw = (width - 150) + 'px';
  jQuery('.ui-gs-panel', raw).css('left', width + 'px').hide();
  jQuery('.ui-gs-panel li', raw).css(width, smw);
  jQuery('.ui-gs-main li', raw).click(function() {
   var panel = jQuery(this).attr('rel');
   jQuery('.ui-gs-main li', raw).each(function() {
    var el = jQuery(this);
    if(el.hasClass('ui-active')) el.removeClass('ui-active');
   });
   jQuery(this).addClass('ui-active');
   jQuery('.ui-gs-main', raw).animate({ width: "150px" }, 1000);
   jQuery('.' + panel, raw).css('z-index', tel += 1).show().animate({ 'left': '150px' }, 1000, function() {
    jQuery('.ui-gs-panel', raw).each(function() {
     if(jQuery(this).hasClass(panel) == false) {
      jQuery(this).css('left', width + 'px');
      jQuery(this).css('z-index', '1');
      jQuery(this).hide();
     }
    });
   });
  });
 });
};
jQuery.fn.backhome = function() {
 return this.each(function() {
  var raw = this;
  var width = jQuery(raw).width();
  jQuery('.ui-active', raw).each(function() {
   jQuery(this).removeClass('.ui-active');
  });
  jQuery('.ui-gs-main', raw).animate({width: '100%'}, 1000).removeClass('ui-active');
   jQuery('.ui-gs-panel', raw).each(function() {
   jQuery(this).animate({'left': width + 'px'}, 1000, function() {
    $(this).hide();
   });
  });
 });
};
</script>
<style type="text/css">
body{font: 12px "Century Gothic", Tahoma, Verdana, Arial, sans-serif;margin: 0;overflow-x: hidden;}
#container{display: block;width: 100%;height: 500px;border-top: 5px solid #ccc;border-bottom: 5px solid #ccc;overflow-x: hidden;position: relative;}
.ui-gs-main{display: block;width: 100%;overflow: hidden;position: absolute;top: 0;left: 0;}
.ui-gs-main ul{list-style: none;margin: 0;padding: 0;}
.ui-gs-main ul li{display: block;width: 100%;padding-top: 15px;padding-bottom: 15px;text-indent: 25px;border-bottom: 1px solid #ccc;}
.ui-gs-main ul li: hover{background: #f0f2f5;}
.ui-gs-panel{display: block;width: 100%;overflow: hidden;position: absolute;top: 0;left: 0;}
.ui-gs-panel ul{list-style: none;margin: 0;padding: 0;}
.ui-gs-panel ul li{display: block;width: 100%;padding-top: 15px;padding-bottom: 15px;text-indent: 25px;border-bottom: 1px solid #ccc;border-left: 1px solid #ccc;background: white;}
.ui-gs-panel ul li: hover{background: #f0f2f5;}
li.ui-active{background: #f0f2f5;}
</style>
<script type="text/javascript">
$(document).ready(function() {
 $('#container').grooveshark();
 $('#backhome').click(function() {
  $('#container').backhome();
 });
});
</script>
 </head>
 <body>
  <div id="container">
   <div class="ui-gs-main">
    <ul>
     <li rel="home">主页</li>
     <li rel="over_ons">作品</li>
     <li rel="portfolio">链接</li>
     <li rel="contact">联系</li>
    </ul>
   </div>
   <div class="ui-gs-panel home">
    <ul>
     <li>最新更新</li>
     <li>热点排行</li>
     <li>时事政治</li>
     <li>喜欢电影</li>
     <li>我的音乐</li>
     <li>我的收藏</li>
     <li>程序人生</li>
     <li>娱乐天地</li>
     <li>婚姻生活</li>
     <li>五花八门</li>
    </ul>
   </div>
   <div class="ui-gs-panel over_ons">
    <ul>
     <li>jquery</li>
     <li>ASP</li>
     <li>PHP</li>
     <li>JAVA</li>
     <li>JSP</li>
     <li>AJAX</li>
     <li>ASP.NET</li>
     <li>VC++</li>
     <li>C#</li>
    </ul>
   </div>
   <div class="ui-gs-panel portfolio">
    <ul>
     <li>百度</li>
     <li>新浪</li>
     <li>网易</li>
     <li>腾讯</li>
     <li>搜狐</li>
     <li>天涯</li>
    </ul>
   </div>
   <div class="ui-gs-panel contact">
    <ul>
     <li>北京</li>
     <li>上海</li>
     <li>天津</li>
     <li>重庆</li>
     <li>成都</li>
     <li>广州</li>
     <li>常州</li>
     <li>深圳</li>
     <li>杭州</li>
     <li>无锡</li>
     <li>郑州</li>
     <li>武汉</li>
    </ul>
   </div>
  </div>
</body>
</html>

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

Javascript 相关文章推荐
JS弹出对话框返回值代码(asp.net后台)
Dec 28 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
javascript实现消灭星星小游戏简单版
Nov 15 Javascript
利用浮层使select不可选的实现方法
Dec 03 Javascript
vue一步步实现alert功能
Jul 05 Javascript
vue-content-loader内容加载器的使用方法
Aug 05 Javascript
微信小程序实现多选功能
Nov 04 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
webpack 处理CSS资源的实现
Sep 27 Javascript
Vue 实例中使用$refs的注意事项
Jan 29 Vue.js
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 #Javascript
基于jquery实现在线选座订座之影院篇
Aug 24 #Javascript
js淡入淡出的图片轮播效果代码分享
Aug 24 #Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 #Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 #Javascript
js实现的简洁网页滑动tab菜单效果代码
Aug 24 #Javascript
jquery+html5烂漫爱心表白动画代码分享
Aug 24 #Javascript
You might like
php文件操作实例代码
2012/05/10 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
Vue组件开发初探
2017/02/14 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
Python使用matplotlib绘制动画的方法
2015/05/20 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
八月一日观后感
2015/06/10 职场文书
婚礼答谢词范文
2015/09/29 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP