基于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 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
Prototype源码浅析 String部分(二)
Jan 16 Javascript
javascript获取xml节点的最大值(实现代码)
Dec 11 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
AngularJS实现路由实例
Feb 12 Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 Javascript
vue配置nprogress实现页面顶部进度条
Sep 21 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
PHP实现的json类实例
2015/07/28 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
js停止输出代码
2008/07/20 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
造价工程师个人求职信
2013/09/21 职场文书
毕业生自荐书
2014/02/02 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
移风易俗倡议书
2014/04/15 职场文书
班训口号大全
2014/06/18 职场文书
学校体育节班级口号
2015/12/25 职场文书