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>
目录
相关文章
|
3月前
|
前端开发 JavaScript API
使用 JavaScript 实现图片上传
使用 JavaScript 实现图片上传
122 1
|
22天前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
68 10
|
19天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
32 4
|
2月前
|
JavaScript 前端开发
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
|
3月前
|
JavaScript 前端开发
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
193 0
|
3月前
|
JavaScript
js之图片上传
js之图片上传
79 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
46 0
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
97 2
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
130 4