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的ajax功能实现web service的json转化
Aug 29 Javascript
javascript 动态调整图片尺寸实现代码
Dec 28 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
JavaScript的各种常见函数定义方法
Sep 16 Javascript
bootstrap table 服务器端分页例子分享
Feb 10 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
js闭包学习心得总结
Apr 17 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
详解webpack的文件监听实现(热更新)
Sep 11 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
PHP新手上路(五)
2006/10/09 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
php自动获取关键字的方法
2015/01/06 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
Python 深入理解yield
2008/09/06 Python
windows系统下Python环境搭建教程
2017/03/28 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
生物科学系大学生的自我评价
2013/12/20 职场文书
营销与策划专业求职信
2014/06/20 职场文书
教书育人演讲稿
2014/09/11 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
vscode内网访问服务器的方法
2022/06/28 Servers