zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JS制作跟随鼠标移动的图片

JS 图片 移动 制作 鼠标 跟随
2023-09-14 09:05:15 时间

JS制作跟随鼠标移动的图片

有趣的小案例池子
JS实现定时器
JS实现关闭图片窗口
JS实现输入检验
获取焦点后隐藏提示内容的输入框
JS实现获取鼠标在画布中的位置
聊天信息框显示消息
JS点击切换背景图
自动切换背景的登录页面
JS制作跟随鼠标移动的图片
JS实现记住用户密码

效果展示

在这里插入图片描述

案例简介

本文讲解如何使用JS制作可以跟随鼠标移动的图片,我这里是用一直天使的gif图片演示的。

构建HTML框架

<body>
    <!-- 这里填写需要跟随鼠标的图片 -->
    <img src="images/angel.gif" alt="">
    
</body>

CSS渲染

<style>
        img {
            /* 把图片设置为绝对定位 */
            position: absolute;       
        }
    </style>

JS逻辑

<script>
        // 获取图片元素
        var pic = document.querySelector('img');
        // 添加鼠标移动事件
        document.addEventListener('mousemove', function(e) {
            // 1. mousemove只要我们鼠标移动1px 就会触发这个事件
            // console.log(1);
            // 2.核心原理: 每次鼠标移动,我们都会获得最新的鼠标坐标, 把这个x和y坐标做为图片的top和left 值就可以移动图片
            var x = e.pageX;
            var y = e.pageY;
            console.log('x坐标是' + x, 'y坐标是' + y);
            //3 . 千万不要忘记给left 和top 添加px 单位
            pic.style.left = x - 50 + 'px';
            pic.style.top = y - 42 + 'px';


        });
    </script>

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        img {
            /* 把图片设置为绝对定位 */
            position: absolute;       
        }
    </style>
</head>

<body>
    <!-- 这里填写需要跟随鼠标的图片 -->
    <img src="images/angel.gif" alt="">
    <script>
        // 获取图片元素
        var pic = document.querySelector('img');
        // 添加鼠标移动事件
        document.addEventListener('mousemove', function(e) {
            // 1. mousemove只要我们鼠标移动1px 就会触发这个事件
            // console.log(1);
            // 2.核心原理: 每次鼠标移动,我们都会获得最新的鼠标坐标, 把这个x和y坐标做为图片的top和left 值就可以移动图片
            var x = e.pageX;
            var y = e.pageY;
            console.log('x坐标是' + x, 'y坐标是' + y);
            //3 . 千万不要忘记给left 和top 添加px 单位
            pic.style.left = x - 50 + 'px';
            pic.style.top = y - 42 + 'px';


        });
    </script>
</body>

</html>