KISSY(JS)炫动导航,缓动应用实例(^_^)
一个基于KISSY的简单的动画导航,效果还不错,有点像flash的效果。鼠标移到每一个连接上,背景滑块会迅速移到该链接下方,同时平滑改变大小,自适应链接尺寸,并伴随来回的轻微波动,动感相当不错,呵呵,废话不多说了,看demo吧。
效果查看: http://www.seejs.com/demos/examples/animNav/index.html
特别感谢评论中各位提出的由于在各个链接中快速移动导致的bug,现在已经做了简单的处理,效果应该好多了,呵呵...
1. [代码][JavaScript]代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>KISSY动画导航</title>
<style>
ul,li {
margin: 0;
padding: 0;
list-style: none;
}
a {
text-decoration: none;
}
.nav {
position: relative;
margin: 0 auto;
width: 990px;
_height: 51px;
background-color: #000;
font: 14px/1.5 '微软雅黑';
color: #fff;
}
.block {
position: absolute;
z-index: 9;
left: 0;
top: 0;
width: 0;
height: 0;
border-radius: 4px;
background-color: #f00;
}
.nav-list {
position: relative;
_position: absolute;
z-index: 10;
padding-left: 20px;
overflow: hidden;
}
.nav-list .item {
float: left;
padding: 15px 20px;
}
.nav-list .item a {
color: #fff;
}
</style>
</head>
<body>
<div id="Y_nav" class="nav">
<span id="Y_block" class="block"></span>
<ul class="nav-list">
<li class="item"><a href="" target="_blank">首页</a></li>
<li class="item"><a href="" target="_blank">淘宝网</a></li>
<li class="item"><a href="" target="_blank">天猫商城</a></li>
<li class="item"><a href="" target="_blank">一淘UX团队PC&广告</a></li>
<li class="item"><a href="" target="_blank">京东、当当、卓越亚马逊等等</a></li>
</ul>http://www.huiyi8.com/hehua/
</div>
<script src="http://a.tbcdn.cn/s/kissy/1.2.0/kissy-min.js"></script>
<script>
(function(S){
var D = S.DOM, E = S.Event;
var box = D.get("#Y_nav"), block = D.get("#Y_block"), eles = D.query(".item", "#Y_nav");
var cur = 0, cur_w = D.outerWidth(eles[cur]), cur_h = D.outerHeight(eles[cur]) - 8, cur_l = eles[cur].offsetLeft, cur_t = eles[cur].offsetTop + 4;
var _t = null;
new S.Anim(block, {"left":cur_l,"top":cur_t,"width":cur_w,"height":cur_h}, 0.3, "backOut", function(){}).run();
E.on(eles, "mouseenter", function(){
var _this = this;
if(_t){clearTimeout(_t);}
_t = setTimeout(function(){
cur = S.indexOf(_this, eles);
cur_w = D.outerWidth(eles[cur]), cur_h = D.outerHeight(eles[cur]) - 8, cur_l = eles[cur].offsetLeft, cur_t = eles[cur].offsetTop + 4;
new S.Anim(block, {"left":cur_l,"top":cur_t,"width":cur_w,"height":cur_h}, 0.5, "backOut", function(){}).run();
}, 200);
});
})(KISSY);
</script>
</body>
</html>
随机推荐
- SpringMvc入门教程
1.新建demo4 web项目, 导入spring包(使用的是spring4.2) 2.修改WEB-INF下的WEB.XML内容为 <?xml version="1.0" ...
- jfreechart时序图 demo
import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.io.FileNotFoundExce ...
- 篇二、理解Android Studio的视图和目录分析,这个是转载
看不清的话可以可以将图片在新窗口中打开,以原图的大小显示. 原文链接:http://blog.csdn.net/siyehuazhilian/article/details/42123563 ...
- 【Python + selenium】之BSTestRunner:NameError: name 'unicode' is not defined
参考文章:<python3.6 :NameError: name 'unicode' is not defined>
- mybatis介绍安装
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...
- Android双缓冲技术
参考文章: 1.http://djt.qq.com/article/view/987 2.http://blog.csdn.net/i_lovefish/article/details/7913623 ...
- Warning: (3719, “‘utf8’ is currently an alias for the character set UTF8MB3, which will be replaced by UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.”)
[1]本地版本 Mysql 8.0.12 创建表SQL: DROP TABLE IF EXISTS students; CREATE TABLE `students` ( `sId` ) UNSIGN ...
- android-support-v4.jar异常解决方法
1.当一个项目引入其他library项目时,会出现android-support-v4.jar冲突问题: 解决:将library项目中的android-support-v4.jar更新到最新,方法右键 ...
- Django模板系统(非常详细)(后台数据如何展示在前台)
前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的这会导致几个问题:1,显然,任何页面的改动会牵扯到Python代码的改动网站的设计改动会比Python代码改动更频 ...
- c/c++一些小知识点(特此总结)
---恢复内容开始--- ---恢复内容结束---