建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网页设计 > 网页特效 >

效果很棒,可以弹钢琴的导航

时间:2011-05-02 10:40来源: 作者: 点击:
我们来介绍一个效果很棒的导航实例,点击某个会有类似钢琴的弹动的效果。实现原理还是有点点复杂,产生随机数,随即选择一个滑动,然后循环执行一个函数. 然后给每个添加事件,mouseover的时候就停止,mouseover时候在开始循环执行函数 html代码: <div id="nothing-men

我们来介绍一个效果很棒的导航实例,点击某个会有类似钢琴的弹动的效果。实现原理还是有点点复杂,产生随机数,随即选择一个滑动,然后循环执行一个函数.
然后给每个添加事件,mouseover的时候就停止,mouseover时候在开始循环执行函数
html代码:

<div id="nothing-menu">
<a href="#">建站学</a>
<a href="#">首页</a>
<a href="#">日志</a>
<a href="#">联系</a>
<a href="#">管理</a>
<a href="#">订阅</a>
</div>

CSS代码:

#nothing-menu{position:relative;}
a
{text-decoration:none;}
#nothing-menu a
{display:block;float:left;font-size:14px;padding:10px;color:#999;background-color:#333;}


JS代码:(还是基于mootools1.3)使用了morph动画属性

var menuDown = {
data: {
locked:
false,
autoTime:
400,
morph: {
duration:
200
},
morphShowDown: {
'margin-top': 8,
'color': '#ff8',
'background-color': '#666'
},
morphGoBack: {
'margin-top': 0,
'color': '#999',
'background-color': '#333'
}
},
//设置各种需要的参数
random: function (i) {
return parseInt(Math.random() * i);
},
//产生一个随机数
start: function () {
this.menu = $("nothing-menu");
this.menuLink = this.menu.getElements("a");
for (var i = 0; i < this.menuLink.length; i++) {
this.menuLink[i].set("morph", this.data.morph);
this.menuLink[i].addEvents({
mouseover:
this.showDown.bind(this, [i]),
mouseout:
this.goBack.bind(this, [i])
});
}
this.rotate.periodical(this.data.autoTime, this); //每隔一段时间执行
},
rotate:
function () {
if (!this.data.locked) { //当处于锁定状态时,不发生任何事情,自然会停止
this.randomShow();
}
},
stop:
function () {
this.data.locked = true;
},
randomShow:
function () {
var i = this.random(this.menuLink.length);
this.menuLink[i].get("morph").start(this.data.morphShowDown).chain(function () {
this.menuLink[i].get("morph").start(this.data.morphGoBack);
} .bind(
this, i)); //函数链
},
showDown:
function (i) { //下滑函数
this.data.locked = true;
this.menuLink[i].morph(this.data.morphShowDown);
},
goBack:
function (i) { //返回函数
this.data.locked = false;
this.menuLink[i].morph(this.data.morphGoBack);
}
};
menuDown.start();

此效果纯属好玩,不过我在想要是真的可以随机弹钢琴就好了,就是产生1-7的随机数,然后每次就弹出相应的声音,要是难点的话可以加个
中低高音,突然发现自己好会想!嘿嘿!更神奇点的就是支持键盘1-7甚至更多的键的输入就好了,然后就可以真的弹琴了!原来在键盘上
也是可以的!

(责任编辑:admin)
织梦二维码生成器
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片