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 相关文章推荐
JavaScript操作Cookie方法实例分析
May 27 Javascript
js实现网页抽奖实例
Aug 05 Javascript
jQuery入门之层次选择器实例简析
Dec 11 Javascript
javascript实现的猜数小游戏完整实例代码
May 10 Javascript
手机Web APP如何实现分享多平台功能
Aug 19 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
微信小程序实现图片轮播及文件上传
Apr 07 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
jQuery实现简单的Ajax调用功能示例
Feb 15 jQuery
微信域名检测接口调用演示步骤(含PHP、Python)
Dec 08 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
实例解析Array和String方法
2016/12/14 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Python中join函数简单代码示例
2018/01/09 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
PyQt5实现简易电子词典
2019/06/25 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
学python最电脑配置有要求么
2020/07/05 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
如何利用python发送邮件
2020/09/26 Python
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
数控技术学生的自我评价
2014/02/15 职场文书
小学数学国培感言
2014/03/10 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python
基于Python实现将列表数据生成折线图
2022/03/23 Python
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript