JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果


Posted in Javascript onOctober 14, 2015

本文实例讲述了JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果。分享给大家供大家参考。具体如下:

这里演示JavaScript+CSS仿Mootools竖排黑色动画菜单,并非使用了Mootools,但效果却和使用了Mootools差不多,动画效果平滑,操作舒服,给菜单增色不少。

运行效果截图如下:

JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>竖排黑色动画菜单</title>
<style type="text/css">
#menu {
 height: auto;
 width: 350px;
 float: left;
}
body {
 overflow: auto;
 background: #333;
 color: #FFF;
 font: 12px Arial, Helvetica, sans-serif;
}
#menu li {
 display: block;
 list-style-type: none;
}
#menu a {
 font-size: 11px;
 color: #FFF;
 padding-right: 10px;
 padding-left: 10px;
 line-height: 30px;
 text-decoration: none;
 background: #000 url(images/bg.jpg) no-repeat left;
 height: 30px;
 width: 180px;
 display: block;
 outline:0;
 margin-bottom: 5px;
}
#menu a:hover {
 color: #CCFF00;
 background: #000 url(images/bg1.jpg) no-repeat left;
}
</style>
</head>
<body>
 <div id="menu">
 <ul>
  <li><a href="#" title="" class="toggler">JQuery插件</a></li>
  <li><a href="#" class="toggler">Ext 皮肤</a></li>
  <li><a href="#" class="toggler">CSS特效</a></li>
  <li><a href="#">Ajax技巧集</a></li>
 </ul>
 </div>
<script type="text/javascript">
var $ = function(_sId){return typeof _sId == 'string' ? document.getElementById(_sId) : _sId;}
var Each=function (a,fn){for(var i=0;i<a.length;i++)fn.call(a[i],i,a)};
var Tweener = {
  easeNone: function(t, b, c, d) {
    return c*t/d + b;
  },
  easeOutBounce: function(t, b, c, d) {
    if((t/=d) <(1/2.75)) {
      return c*(7.5625*t*t) + b;
    } else if(t <(2/2.75)) {
      return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
    } else if(t <(2.5/2.75)) {
      return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    } else {
      return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    }
  }
};
Each($('menu').getElementsByTagName('a'), function(){
 this.onmouseover = function(){
  var b = parseInt(this.style.marginLeft);
  b = isNaN(b) ? 0 : b;
  var t=0,c=30-b,d =10,ttl=10;
  var me = this;
  clearInterval(me.only);
  me.only=setInterval(function (){
  me.style.marginLeft = Tweener.easeNone(t,b,c,d)+'px';
  if(t<d) t++;
  else{
   clearInterval(me.only);
  }
  },ttl)
 }
 this.onmouseout = function(){
  var b = parseInt(this.style.marginLeft);
  b = isNaN(b) ? 0 : b;
  var t=0,c=0-b,d =50,ttl=10;
  var me = this;
  clearInterval(me.only);
  me.only=setInterval(function (){
  me.style.marginLeft = Tweener.easeOutBounce(t,b,c,d)+'px';
  if(t<d) t++;
  else{
   clearInterval(me.only);
  }
  },ttl)
 }
 }
);
</script>
</body>
</html>

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

Javascript 相关文章推荐
jquery中dom操作和事件的实例学习-表单验证
Nov 30 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
Oct 21 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
Aug 16 Javascript
jquery事件的ready()方法使用详解
Nov 11 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
JS仿京东移动端手指拨动切换轮播图效果
Apr 10 Javascript
js实现的简练高效拖拽功能示例
Dec 21 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
JS实现的最简Table选项卡效果
Oct 14 #Javascript
JS仿淘宝实现的简单滑动门效果代码
Oct 14 #Javascript
JavaScript实现的伸展收缩型菜单代码
Oct 14 #Javascript
smartcrop.js智能图片裁剪库
Oct 14 #Javascript
深入学习JavaScript对象
Oct 13 #Javascript
快速学习JavaScript的6个思维技巧
Oct 13 #Javascript
有关json_decode乱码及NULL的问题
Oct 13 #Javascript
You might like
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
php强制下载文件函数
2016/08/24 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
python中私有函数调用方法解密
2016/04/29 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Django的Modelforms用法简介
2019/07/27 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
python命令 -u参数用法解析
2019/10/24 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
公司接待方案
2014/03/08 职场文书
幼教求职信
2014/03/12 职场文书
小学教师师德整改措施
2014/09/29 职场文书
小学端午节活动总结
2015/02/11 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS