基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
作者:bea
基于jQuery鼠标点击水波动画竖直导航代码。这是一款基于jQuery+CSS3实现的带动画效果的竖直导航栏特效。效果图如下: 效果展示源码下载 html代码: <div class="nav"> <ul> <li><a>网站首页</a></li> <li><a>关于我们</a></li> <li><a>产品中心
基于jQuery鼠标点击水波动画竖直导航代码。这是一款基于jQuery+CSS3实现的带动画效果的竖直导航栏特效。效果图如下:
效果展示 源码下载
html代码:
<div class="nav">
<ul>
<li><a>网站首页</a></li>
<li><a>关于我们</a></li>
<li><a>产品中心</a></li>
<li><a>成功案例</a></li>
<li><a>联系我们</a></li>
<li><a>在线留言</a></li>
</ul>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
//jQuery time
var parent, ink, d, x, y;
$(".nav ul li a").click(function (e) {
parent = $(this).parent();
//create .ink element if it doesn't exist
if (parent.find(".ink").length == 0)
parent.prepend("<span class='ink'></span>");
ink = parent.find(".ink");
//incase of quick double clicks stop the previous animation
ink.removeClass("animate");
//set size of .ink
if (!ink.height() && !ink.width()) {
//use parent's width or height whichever is larger for the diameter to make a circle which can cover the entire element.
d = Math.max(parent.outerWidth(), parent.outerHeight());
ink.css({ height: d, width: d });
}
//get click coordinates
//logic = click coordinates relative to page - parent's position relative to page - half of self height/width to make it controllable from the center;
x = e.pageX - parent.offset().left - ink.width() / 2;
y = e.pageY - parent.offset().top - ink.height() / 2;
//set the position and add class .animate
ink.css({ top: y + 'px', left: x + 'px' }).addClass("animate");
})
</script>
以上代码是本文的核心代码,比较简单,大家可以根据需求,适当的添加删除代码。
有用 | 无用
效果展示 源码下载
html代码:
<div class="nav">
<ul>
<li><a>网站首页</a></li>
<li><a>关于我们</a></li>
<li><a>产品中心</a></li>
<li><a>成功案例</a></li>
<li><a>联系我们</a></li>
<li><a>在线留言</a></li>
</ul>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
//jQuery time
var parent, ink, d, x, y;
$(".nav ul li a").click(function (e) {
parent = $(this).parent();
//create .ink element if it doesn't exist
if (parent.find(".ink").length == 0)
parent.prepend("<span class='ink'></span>");
ink = parent.find(".ink");
//incase of quick double clicks stop the previous animation
ink.removeClass("animate");
//set size of .ink
if (!ink.height() && !ink.width()) {
//use parent's width or height whichever is larger for the diameter to make a circle which can cover the entire element.
d = Math.max(parent.outerWidth(), parent.outerHeight());
ink.css({ height: d, width: d });
}
//get click coordinates
//logic = click coordinates relative to page - parent's position relative to page - half of self height/width to make it controllable from the center;
x = e.pageX - parent.offset().left - ink.width() / 2;
y = e.pageY - parent.offset().top - ink.height() / 2;
//set the position and add class .animate
ink.css({ top: y + 'px', left: x + 'px' }).addClass("animate");
})
</script>
以上代码是本文的核心代码,比较简单,大家可以根据需求,适当的添加删除代码。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 实例讲解jquery与json的结合
- javascript仿百度输入框提示自动下拉补全
- 基于jquery实现表格无刷新分页
- js密码强度检测
- 实例详解JSON数据格式及json格式数据域字符串相互转换
- 基于JavaScript实现通用tab选项卡(通用性强)
- 基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
- JavaScript设计模式初探
- JavaScript类型系统之Object详解
- 7个去伪存真的JavaScript面试题
- jQuery表格插件datatables用法详解
- 详解JavaScript UTC时间转换方法
- jQuery formValidator表单验证
- JavaScript中的原始值和复杂值
- 理解JS事件循环
- angularjs创建弹出框实现拖动效果
- JavaScript中定义类的方式详解
- javascript类型系统 Window对象学习笔记
- 直接拿来用的页面跳转进度条JS实现