前言

用html+css+JavaScript实现了一个图片鼠标跟随效果


一、思路

  1. 鼠标不断的移动,使鼠标移动事件:mousemove;
  2. 在页面中移动,给document注册事件;
  3. 图片要移动距离,而且不占位置,我们可以使用绝对定位;
  4. 核心原理:每次鼠标移动,我们都会获得最新的鼠标坐标,把这个x轴和y轴坐标作为图片的top和left值就可以移动图片。

代码如下:

<!DOCTYPE html>
<html lang="en"><head><style>img {position: absolute;top: 2px;max-width: 100px;height: auto;cursor: none;}</style>
</head><body><img src="../images/curry2.png" alt="" />
</body>
<script>var pic = document.querySelector('img');document.addEventListener('mousemove', function (e) {var x = e.pageX;var y = e.pageY;pic.style.left = x - 50 + 'px';pic.style.top = y - 50 + 'px';});
</script></html>

代码解析:

当鼠标在页面上移动时,通过监听document的mousemove事件,获取鼠标的坐标pageX和pageY,并将图片的位置设置为鼠标坐标减去50像素(因为我这个图片设置的是100*100,减去50就会使鼠标居中)。通过这样的方式,就可以实现图片跟随鼠标移动的效果。需要注意的是,这段代码前提是页面上存在一个img元素,代码中使用document.querySelector方法获取该元素。

效果

上面这个curry就变成我的鼠标啦!!!!!

mousemove实现图片鼠标跟随效果相关推荐

  1. js实现鼠标跟随效果

    在平时开发中,实现鼠标跟随效果并不是很常见,但是在一些个人博客和个人网站中这个效果有时候会用到 有些游戏网站中也会用到这个效果.这里分享的是一个例子.代码如下,, 注意我这里跟随的是一个图片,也可以根 ...

  2. 鼠标跟随 html,鼠标跟随效果.html

    鼠标跟随效果 .mouse-container{ background: #000; width: 800px; margin:20px auto; } table > tr > td { ...

  3. php鼠标跟随特效,原生js实现鼠标跟随效果

    鼠标跟随效果 *{margin: 0;padding: 0;} img{position:absolute;top:0;left:0;} (function(window){ // 获取对象 var ...

  4. 不可思议的纯 CSS 实现鼠标跟随效果

    不可思议的纯 CSS 实现鼠标跟随效果 原文:不可思议的纯 CSS 实现鼠标跟随效果 直接进入正题,鼠标跟随,顾名思义,就是元素会跟随着鼠标的移动而作出相应的运动.大概类似于这样: 通常而言,CSS ...

  5. 【js】鼠标跟随效果

    1.实现思想 ①鼠标跟随效果,发生在鼠标移动的时候,故需要使用onmousemove事件 ②当页面内容多于1屏时,就需要考虑滚动距离的问题 ③想实现鼠标跟随的效果需要:元素的left位置 = 鼠标当前 ...

  6. 怎么给html增加鼠标跟随,js实现简单鼠标跟随效果的方法

    本文实例讲述了js实现简单鼠标跟随效果的方法.分享给大家供大家参考.具体分析如下: 鼠标跟随,顾名思义,就是在鼠标移动的时候,有个动画跟随着鼠标一起移动. 要点一: var oEvent = evt ...

  7. 纯 CSS 实现鼠标跟随效果

    欢迎微信关注Jerome blog,用技术的心去生活 鼠标跟随效果,顾名思义,就是元素会跟随着鼠标的移动而作出相应的运动.大概类似于这样: 通常而言,CSS 负责表现,JavaScript 负责行为. ...

  8. Revit二次开发之“PromptForFamilyInstancePlacement()函数动态拖动/鼠标跟随”效果

    布置设备的时候,希望有个拖动的效果,这个函数可以实现. //跟随鼠标拖动效果 [Transaction(TransactionMode.Manual)] [Regeneration(Regenerat ...

  9. 鼠标跟随效果html,javascript 鼠标跟随特效代码及理解

    javascript 鼠标跟随特效 *{ margin: 0; padding: 0; } body{ height: 1000px; } div{ width: 50px; height: 50px ...

最新文章

  1. hdu 1002 A + B Problem II(大正整数相加)
  2. java对嵌入式_Java用于嵌入式系统的优点
  3. 鸿蒙系统能否推广,鸿蒙系统凭实力占市场,无需通过禁止安卓系统来推广
  4. 我的内核学习笔记1:字符设备完善
  5. Win11显卡fps很低怎么办?Win11显卡fps很低的解决方法
  6. go15---select
  7. python 直播源_直播源获取软件下载|直播源获取工具(斗鱼B站西瓜)下载-蛙扑下载站...
  8. C++中的小数位数控制和有效数字控制
  9. borlndmm.dll(宝兰妹妹)DELPHI核心DLL之一简单分析
  10. 01、u3d自学课程
  11. RabbitMQ学习
  12. 【实验分享】备份IOS文件
  13. svg格式图像导出为png图片
  14. Altium Designer中关于PCB及原理绘制那些高级玩意总结
  15. CSS好看的一些颜色
  16. plotly 坐标轴(axes)设置
  17. 可以称为是“钢铁侠” 原型
  18. Python基础1_沙窝李的王
  19. Markdown语法学习笔记
  20. Python:RuntimeWarning: invalid value encountered in true_divide解决方案

热门文章

  1. Java各种数据类型互转
  2. 基于TCP的网络对战象棋--python
  3. 第一篇 .NET高级技术之索引器
  4. gui学生信息管理系统java,Java实训·GUI学生信息管理系统
  5. 微信支付后台接口开发(扫码版)
  6. ISP(二) Demosiac 去马赛克 (CIP)
  7. 华为内部实施微服务架构
  8. 部件级、处理机级和处理机间流水线
  9. 数据分析实习代码总结【进阶】Python
  10. 小程序 配置域名 业务域名_使域名成为您的业务