javascript实现跟随鼠标移动的图片

以下是Javascript实现跟随鼠标移动的图片的完整攻略:

第一步:HTML 模板

首先,我们需要创建一个包含图片的 HTML 模板。可以按照以下示例来创建一个基本 HTML 模板:

    <!DOCTYPE html>
    <html>
     <head>
      <title>跟随鼠标移动的图片</title>
     </head>
     <body>
      <div class="container">
       <img src="path_to_image" alt="跟随鼠标移动的图片" id="image">
      </div>
      <script src="path_to_javascript_file"></script>
     </body>
    </html>

第二步:CSS 样式

接下来,需要使用 CSS 来设置图片的样式以及容器的样式。示例如下:

    .container {
      position: relative;
      width: 500px;
      height: 500px;
    }

    #image {
      position: absolute;
      width: 100px;
      height: 100px;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
    }

这些样式可以使图片在包含器中居中。

第三步:JavaScript 代码

现在,我们将添加 JavaScript 代码,使跟随鼠标移动的图片成为可能。以下是示例代码:

    var image = document.getElementById('image');
    document.onmousemove = function(event) {
      var mouseX = event.clientX;
      var mouseY = event.clientY;

      image.style.left = mouseX - 50 + 'px';
      image.style.top = mouseY - 50 + 'px';
    }

这段代码中,首先获取图片的元素,然后使用 document.onmousemove 事件监听器,它会在鼠标移动时触发。然后获取鼠标的 X 和 Y 坐标,并通过设置图片的样式来改变它的位置(使用 mouseX 和 mouseY 减去图片宽度的一半,以使鼠标指向图片的中心)。这样设置之后,图片就会在鼠标移动时跟随鼠标移动。

示例一:蓝色眼睛

下面的代码展示了一组示例。首先,我们将创建一个 HTML 模板,然后添加 CSS 样式和 JavaScript 代码,使图片跟随鼠标移动。这里,我们将使用两个示例,第一个示例是蓝色眼睛。以下是完整的代码:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>示例 - 跟随鼠标移动的图片</title>
        <style>
          body {
            margin: 0;
            overflow: hidden;
          }
          .container {
            position: relative;
            width: 100%;
            height: 100vh;
          }
          img {
            position: absolute;
            width: 150px;
            height: 150px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            pointer-events: none;
          }
        </style>
      </head>
      <body>
        <div class="container">
          <img src="https://images.unsplash.com/photo-1521338633546-ae8d1ee1a4f8?ixlib=rb-1.2.1&auto=format&fit=crop&w=334&q=80" alt="跟随鼠标移动的眼睛" id="blue-eye" />
        </div>
        <script>
          var blueEye = document.getElementById('blue-eye');
          document.onmousemove = function(e) {
            var x = e.clientX;
            var y = e.clientY;
            blueEye.style.left = x - 75 + 'px';
            blueEye.style.top = y - 75 + 'px';
          };
        </script>
      </body>
    </html>

在这里,我们使用了 Unsplash 网站上的一张图片,并设置了以下 CSS 样式:

  • body:用于使网页全屏
  • .container:居中图片并使它填满整个屏幕
  • img:用于设置图片的样式和设置图片默认不被点击

我们还向 JavaScript 代码添加了事件监听器,每当鼠标移动时都调用该代码。在其中,我们获取了蓝色眼睛元素的引用,并将其移动到鼠标的位置。让我们试试!

示例二:紫色薰衣草

接下来,我们来尝试另一个示例:紫色薰衣草。我们将使用同样的 HTML 模板和 CSS 样式,但是我们会更改 JavaScript 代码以使其适应新的示例。以下是完整代码:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>示例 - 跟随鼠标移动的图片</title>
        <style>
          body {
            margin: 0;
            overflow: hidden;
          }
          .container {
            position: relative;
            width: 100%;
            height: 100vh;
          }
          img {
            position: absolute;
            width: 150px;
            height: 150px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            pointer-events: none;
          }
        </style>
      </head>
      <body>
        <div class="container">
          <img src="https://images.unsplash.com/photo-1524468199101-0240ddb4d015?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=80" alt="跟随鼠标移动的薰衣草" id="lavender" />
        </div>
        <script>
          var lavender = document.getElementById('lavender');
          var x = 0;
          var y = 0;
          setInterval(function() {
            x += (parseInt(Math.random() * 11) - 5);
            y += (parseInt(Math.random() * 11) - 5);
            lavender.style.left = x + 'px';
            lavender.style.top = y + 'px';
          }, 100);
        </script>
      </body>
    </html>

在这个示例中,我们还是用了 Unsplash 网站上的一张图片,但更改了以下 JavaScript 代码:

  • 首先,我们使用了 setInterval 函数来连续移动图片。
  • 在每个 setInterval 周期内,我们随机生成 x 和 y 坐标的增量,然后使用这些增量重新设置图片的位置。
  • 由于我们使 x 和 y 的增量随机,因此使图片将按随机位置跟随鼠标移动。

让我们查看结果!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript实现跟随鼠标移动的图片 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 轻量级JS Cookie插件js-cookie的使用方法

    下面我将为大家详细讲解 “轻量级JS Cookie插件js-cookie的使用方法” ,请仔细阅读以下内容。 什么是js-cookie? js-cookie是一个轻量级的JavaScript库,用于处理浏览器中的cookie。它是一个简单易用的插件,可以方便地设置、获取、删除cookie。 js-cookie的安装与引用 安装js-cookie库: npm …

    JavaScript 2023年5月27日
    00
  • 功能很全的精品JS计算器

    我们的“功能很全的精品JS计算器”具有以下功能: 基本的加减乘除运算 百分数和倒数运算 可以处理复杂的多位运算和顺序运算 具有清空和退格功能 下面是使用该计算器的详细攻略: 界面介绍 打开网页后,你会看到一个设计精美的计算器界面。它包含了数字键盘、运算符号、等于号、清空和退格按钮。在输入框中,你可以输入一个表达式,然后按下等于号计算它的结果。在输入过程中,如…

    JavaScript 2023年5月28日
    00
  • JavaScript定时器setTimeout、setInterval使用详解

    JavaScript定时器setTimeout、setInterval使用详解 在 JavaScript 中,定时器是一种非常有用的功能,它可以让你在一定时间后执行一些操作。其中,setTimeout 和 setInterval 是两种最常用的定时器,本文将详细解释它们的使用方法。 setTimeout setTimeout 函数可以让你在指定的时间后执行一…

    JavaScript 2023年6月11日
    00
  • JS实现新建文件夹功能

    下面我们来讲解一下JS实现新建文件夹的功能的完整攻略。 1. 前置知识 在开始阐述具体实现方法之前,我们先简单介绍一下一些前置知识: HTML: 用于搭建页面结构 CSS: 用于美化页面样式 JavaScript(JS): 在页面中增加交互动态效果 其中,前两项是每个Web开发者的基本功,这里不再赘述,主要介绍JS的相关知识。 JS通常用于给页面添加动态交互…

    JavaScript 2023年5月27日
    00
  • javascript中数组的多种定义方法和常用函数简介

    下面是 “javascript中数组的多种定义方法和常用函数简介” 的完整攻略: 定义数组的几种方法 1. 使用数组字面量 const arr = ["apple", "banana", "orange"]; 使用方括号“[]”来定义数组,其中每个元素用逗号隔开。 2. 使用Array构造函数 co…

    JavaScript 2023年5月27日
    00
  • js按指定格式显示日期时间的样式代码

    下面我将详细讲解如何用 JavaScript 按指定的格式显示日期时间样式的代码攻略。 1. 获取当前的日期和时间 在编写代码显示日期和时间之前,我们需要先获取当前的日期和时间信息。这个过程可以通过 JavaScript 的内置对象 Date 来实现,如下所示: var now = new Date(); 这里定义了一个名为 now 的变量,并通过 new …

    JavaScript 2023年5月27日
    00
  • JS中offset和匀速动画详解

    JS中offset和匀速动画详解 在前端开发中,动画效果可以增强用户体验,让页面更加生动。其中,匀速动画是一种基本的动画方式,而offset属性则可以获取一个元素在文档中的位置。 offset属性 offset属性指的是元素的位置偏移值,在JS中通过offsetTop和offsetLeft分别获取元素在文档中的上边界和左边界到包含元素的上边界和左边界之间的像…

    JavaScript 2023年6月10日
    00
  • Python用requests-html爬取网页的实现

    下面是一份完整的“Python用requests-html爬取网页的实现”攻略。 Python用requests-html爬取网页的实现 requests-html 是Python requests库的一个扩展,它为Python开发者提供了一个更为简洁、优雅的HTML解析器。 安装requests-html 要使用requests-html,您首先需要通过p…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部