JS实现图片跟随鼠标进行浮动

简介: JS实现图片跟随鼠标进行浮动

1,介绍


图片根据鼠标移动进行浮动,首先根据鼠标移动以屏幕中心点为中心计算鼠标移动的方向(上下左右),根据移动方向设置动画样式。

GIF效果图如下:


3,源码


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <style>
    html,
    body {
      width: 100%;
      display: flex;
      text-align: center;
      align-items: center;
      justify-content: center;
      height: 100%;
      padding: 0;
      margin: 0;
    }
  </style>
  <body>
    <img id="shapan" src="images/001.jpeg" />
  </body>
  <script src="js/jquery.js"></script>
  <script>
    let w = 1920;
    let h = 1080;
    let dirName = new Array('top', 'right', 'bottom', 'left');
    window.onmousemove = function(e) {
      let x = (e.pageX - (w / 2)) * (w > h ? (h / w) : 1);
      let y = (e.pageY - (h / 2)) * (h > w ? (w / h) : 1);
      let direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
      let dirText = dirName[direction];
      let nx = x / 22;
      let ny = y / 22;
      spiritEffect(dirText, Math.abs(nx), Math.abs(ny));
    }
    function spiritEffect(fo, nx, ny) {
      if (fo == 'top') {
        $(`#shapan`).css('transform', `translateY(${ny}px)`)
      }
      if (fo == "bottom") {
        $(`#shapan`).css('transform', `translateY(${-ny}px)`)
      }
      if (fo == 'left') {
        $(`#shapan`).css('transform', `translateX(${nx}px)`)
      }
      if (fo == "right") {
        $(`#shapan`).css('transform', `translateX(${-nx}px)`)
      }
      $(`#shapan`).css('transition', `0.35s`)
    }
  </script>
</html>
目录
相关文章
|
1月前
|
JavaScript 前端开发
JavaScript实现鼠标放上去之后高亮显示且隔行换色
JavaScript实现鼠标放上去之后高亮显示且隔行换色
13 0
|
2月前
|
JavaScript 前端开发 安全
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
使用 Node.js 插件给指定目录下的所有图片添加上文字水印
58 0
|
3月前
|
移动开发 JavaScript 定位技术
分享118个JS图片代码,总有一款适合您
分享118个JS图片代码,总有一款适合您
22 0
|
1月前
|
JavaScript 前端开发 API
js截取图片地址后面的参数和在路径中截取文件名或后缀名
在处理网页上的图片资源或者其他类型的文件资源时,你可能会遇到需要使用这些技巧的情况。以下是一些具体的使用场景:
17 0
|
1月前
|
JavaScript
js判断图片是否加载完成
js判断图片是否加载完成
24 0
|
1月前
|
存储 JSON JavaScript
如何使用 JavaScript 代码创建虚拟鼠标点击事件
如何使用 JavaScript 代码创建虚拟鼠标点击事件
18 0
|
1月前
|
Web App开发 前端开发 iOS开发
编程笔记 html5&css&js 008 HTML图片
编程笔记 html5&css&js 008 HTML图片
|
2月前
|
开发框架 JavaScript 小程序
uniapp、vue、小程序、js图片转base64 示例代码
uniapp、vue、小程序、js图片转base64 示例代码
|
Web App开发 JavaScript 前端开发
JavaScript 图片3D展示空间(3DRoom)
一般的平面效果,通过改变水平和垂直坐标就能实现,再加上深度,就能在视觉上的产生3D(三维)的效果。 程序就是模拟这样一个三维空间,里面的图片会根据三维坐标显示在这个空间。 很久以前就看过一个3DRoom效果,是用复杂的计算实现的。
1214 0
|
Web App开发 JavaScript 前端开发