jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果


Posted in Javascript onAugust 25, 2015

本文实例讲述了jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果。分享给大家供大家参考。具体如下:

这里演示基于jquery实现的动画菜单,内含四种效果的网站菜单,第一种是不带效果的传统导航菜单,第二种是带有图形滚动背景的菜单,第三种是由右向左背景滚动的菜单,第四种则是背景色渐变的网站菜单,每一种都很精彩,喜欢Js菜单的可模仿借鉴一下。

运行效果截图如下:

jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>jQuery动态背景导航菜单</title>
<style type="text/css">
h2{clear: both;padding-top: 20px;}
ul{list-style: none;margin: 0;padding: 0;}
li{float: left;width: 100px;margin: 0;padding: 0;text-align: center;}
li a{display: block;padding: 5px 10px;height: 100%;color: #FFF;text-decoration: none;border-right: 1px solid #FFF;}
li a{background: url(images/bg2.jpg) repeat 0 0;}
li a: hover, li a: focus, li a: active{background-position: -150px 0;}
#a a{background: url(images/bg.jpg) repeat -20px 35px;}
#b a{background: url(images/bg2.jpg) repeat 0 0;}
#c a{background: url(images/bg3.jpg) repeat 0 0;}
#d a{background: url(images/bg4.jpg) repeat 0 0;}
</style>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
(function($) {
 $.extend($.fx.step,{
  backgroundPosition: function(fx) {
  if (fx.state === 0 && typeof fx.end == 'string') {
  var start = $.curCSS(fx.elem,'backgroundPosition');
  start = toArray(start);
  fx.start = [start[0],start[2]];
  var end = toArray(fx.end);
  fx.end = [end[0],end[2]];
  fx.unit = [end[1],end[3]];
   }
  var nowPosX = [];
  nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
  nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
  fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];
  function toArray(strg){
  strg = strg.replace(/left|top/g,'0px');
  strg = strg.replace(/right|bottom/g,'100%');
  strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
  var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
  return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
  }
 }
 });
})(jQuery);
</script>
<script type="text/javascript">
$(function(){
 $('#a a')
  .css( {backgroundPosition: "-20px 35px"} )
  .mouseover(function(){
   $(this).stop().animate({backgroundPosition:"(-20px 94px)"}, {duration:500})
  })
  .mouseout(function(){
   $(this).stop().animate({backgroundPosition:"(40px 35px)"}, {duration:200, complete:function(){
    $(this).css({backgroundPosition: "-20px 35px"})
   }})
  })
 $('#b a')
  .css( {backgroundPosition: "0 0"} )
  .mouseover(function(){
   $(this).stop().animate({backgroundPosition:"(-150px 0)"}, {duration:500})
  })
  .mouseout(function(){
   $(this).stop().animate({backgroundPosition:"(-300px 0)"}, {duration:200, complete:function(){
    $(this).css({backgroundPosition: "0 0"})
   }})
  })
 $('#c a')
  .css( {backgroundPosition: "0 0"} )
  .mouseover(function(){
   $(this).stop().animate({backgroundPosition:"(0 -250px)"}, {duration:500})
  })
  .mouseout(function(){
   $(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:500})
  })
 $('#d a')
  .css( {backgroundPosition: "0 0"} )
  .mouseover(function(){
   $(this).stop().animate({backgroundPosition:"(0 -250px)"}, {duration:500})
  })
  .mouseout(function(){
   $(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:500})
  })
});
</script>
<meta http-equiv="Content-Type" content="text/html;charset=gbk">
</head>
<body>
<h1>jQuery Background Position</h1>
<h2>Example 0: No Script</h2>
 <ul id="noscript">
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a></li>
  <li><a href="#">Contact</a></li>
 </ul>
<h2>Example A: Top down</h2>
 <ul id="a">
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a></li>
  <li><a href="#">Contact</a></li>
 </ul>
<h2>Example B: Right left</h2>
 <ul id="b">
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a></li>
  <li><a href="#">Contact</a></li>
 </ul>
<h2>Example C: Fade 1-colour</h2>
 <ul id="c">
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a></li>
  <li><a href="#">Contact</a></li>
 </ul>
<h2>Example D: Fade 2-colour</h2>
 <ul id="d">
  <li><a href="#">Home</a></li>
  <li><a href="#">About</a></li>
  <li><a href="#">Contact</a></li>
 </ul>
</body>
</html>

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

Javascript 相关文章推荐
一个js实现的所谓的滑动门
May 23 Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
JS创建对象的写法示例
Nov 04 Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 Javascript
spring+angular实现导出excel的实现代码
Feb 27 Javascript
JavaScript代理模式原理与用法实例详解
Mar 10 Javascript
vue模块移动组件的实现示例
May 20 Javascript
js实现简单抽奖功能
Nov 24 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 #Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 #Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
Aug 25 #Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 #Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 #Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
Aug 25 #Javascript
js文本框走动跑马灯效果代码分享
Aug 25 #Javascript
You might like
程序员编程十条戒律
2009/07/09 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
Python操作CouchDB数据库简单示例
2015/03/10 Python
python操作 hbase 数据的方法
2016/12/18 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
企业指导教师评语
2014/04/28 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
伏羲庙导游词
2015/02/09 职场文书
医德医风个人总结
2015/02/28 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书