基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载


Posted in Javascript onJanuary 06, 2016

基于jQuery鼠标点击水波动画竖直导航代码。这是一款基于jQuery+CSS3实现的带动画效果的竖直导航栏特效。效果图如下:

基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载

效果展示    源码下载

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>

以上代码是本文的核心代码,比较简单,大家可以根据需求,适当的添加删除代码。

Javascript 相关文章推荐
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
关于Javascript作用域链的八点总结
Dec 06 Javascript
jQuery实现“扫码阅读”功能
Jan 21 Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 Javascript
轻量级网页遮罩层jQuery插件用法实例
Jul 31 Javascript
Javascript中replace()小结
Sep 30 Javascript
Javascript中prototype的使用详解
Jun 18 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
React中的render何时执行过程
Apr 13 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
Aug 02 Javascript
js模拟实现烟花特效
Mar 10 Javascript
JavaScript动态创建div等元素实例讲解
Jan 06 #Javascript
谈谈JavaScript类型系统之Math
Jan 06 #Javascript
莱鸟介绍javascript onclick事件
Jan 06 #Javascript
莱鸟介绍window.print()方法
Jan 06 #Javascript
JavaScript实现点击按钮直接打印
Jan 06 #Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 #Javascript
JavaScript引用类型和基本类型详解
Jan 06 #Javascript
You might like
数据库相关问题
2006/10/09 PHP
php SQL之where语句生成器
2009/03/24 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
提高网站信任度的技巧
2008/10/17 Javascript
javascript 特殊字符串
2009/02/25 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
python中的插入排序的简单用法
2021/01/19 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
书香家庭事迹材料
2014/05/09 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
在Python中如何使用yield
2021/06/07 Python
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL