首页 web前端 js教程 JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果_javascript技巧

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

May 16, 2016 pm 03:36 PM
css javascript 动画菜单 弹性

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

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

运行效果截图如下:

在线演示地址如下:

http://demo.jb51.net/js/2015/js-css-mootools-style-demo/

具体代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

<!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' &#63; 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) &#63; 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) &#63; 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程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vue中placeholder是什么意思 vue中placeholder是什么意思 May 07, 2024 am 09:57 AM

vue中placeholder是什么意思

vue中空格怎么写 vue中空格怎么写 Apr 30, 2024 am 05:42 AM

vue中空格怎么写

vue中怎么获取dom vue中怎么获取dom Apr 30, 2024 am 05:36 AM

vue中怎么获取dom

js中span是什么意思 js中span是什么意思 May 06, 2024 am 11:42 AM

js中span是什么意思

js中rem是什么意思 js中rem是什么意思 May 06, 2024 am 11:30 AM

js中rem是什么意思

vue中引入图片的方法 vue中引入图片的方法 May 02, 2024 pm 10:48 PM

vue中引入图片的方法

span标签的作用是什么 span标签的作用是什么 Apr 30, 2024 pm 01:54 PM

span标签的作用是什么

js中prompt怎么换行 js中prompt怎么换行 May 01, 2024 am 06:24 AM

js中prompt怎么换行

See all articles