js实现鼠标跟随运动效果


Posted in Javascript onAugust 02, 2020

鼠标跟随运动效果展示

1、使用命令创建基本结构ul.cursorPlay#cursorPlay>li*12>a>img+div>span

2、给span标签添加字段

3、设置基本的样式

1、cursorPlay的宽度 992px,高度600px
2、cursorPlay li背景为白色,内边距为8px,外边距5px,显示浮动为左浮动
3、cursorPlay li a,cursorPlay li a img显示为块状并且为相对布局
4、cursorPlay li a添加overflow:hidden
5、cursorPlay li a div为绝对布局,宽度和高度均为100%,设置背景颜色为rgba

4、js添加动态效果(方向0,1,2,3分别为上,右,下,左)

1)、给绑定鼠标进入或者出去的事件

$("#cursorPlay li").on("mouseenter mouseleave",function(event){
var evType = event.type;
var direction = getDir($(this), {
x: event.pageX,
y: event.pageY
});
// console.log("evtype:"+evType+",dir:"+direction);
moveTo($(this),direction, evType);
});
2、

2)、使用getDir获取鼠标移动的方向,coordinates坐标

计算鼠标划入画出方向函数(搜索关键词“jquery计算鼠标划入划出方向”)

direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
function getDir($el, coordinates){
var w = $el.width(),
h = $el.height(),
x = (coordinates.x - $el.offset().left - (w / 2)) * (w > h ? (h / w) : 1),
y = (coordinates.y - $el.offset().top - (h / 2)) * (h > w ? (w / h) : 1),
direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
return direction;
}

3)、添加移动函数moveTo,三个参数分别为选择器,方向,鼠标划入画出类型,通过判断鼠标划入类型,来自定义选择器初始位置,然后重定义css样式,当鼠标划出时再重定义每个方向上的位置

function moveTo($el, direction, type){
 var $layer = $el.find("div");
 var coord = {};
 if(type === "mouseenter"){
  switch(direction){
   case 0 :  $layer.css("top","-100%").css("left","0px");break;
  case 1 : $layer.css("left","100%").css("top","0px");break;
  case 2 : $layer.css("top","100%").css("left","0px");break;
  case 3 : $layer.css("left","-100%").css("top","0px");break;
 }
  coord = {left:0,top:0}
 }else{
 switch(direction){
  case 0 : coord = {left:0,top:'-100%'};break;
  case 1 : coord = {left:'100%',top:0};break;
  case 2 : coord = {left:0,top:'100%'};break;
  case 3 : coord = {left:'-100%',top:0};break;
 }
}
$layer.animate(coord,300);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
NiftyCube——轻松实现圆角边框
Feb 20 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
深入探讨javascript函数式编程
Oct 11 Javascript
JS实现的颜色实时渐变效果完整实例
Mar 25 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
基于jQuery实现滚动切换效果
Dec 02 Javascript
jQuery内存泄露解决办法
Dec 13 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
vue自定义指令之面板拖拽的实现
Apr 14 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
vuex实现购物车功能
Jun 28 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 #Javascript
javascript观察者模式实现自动刷新效果
Sep 05 #Javascript
js使用generator函数同步执行ajax任务
Sep 05 #Javascript
vue如何使用 Slot 分发内容实例详解
Sep 05 #Javascript
详解Vue2.0 事件派发与接收
Sep 05 #Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
Sep 05 #Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 #jQuery
You might like
PHP中cookies使用指南
2007/03/16 PHP
php无限级分类实现方法分析
2016/10/19 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
js的匿名函数使用介绍
2013/12/11 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
js脚本中执行java后台代码方法解析
2019/10/11 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
深入解析Python中的urllib2模块
2015/11/13 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python:slice与indices的用法
2019/11/25 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
python mock测试的示例
2020/10/19 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
法律顾问服务方案
2014/05/15 职场文书
出差报告格式模板
2014/11/06 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
不同意离婚上诉状
2015/05/23 职场文书