js实现的简单图片浮动效果完整实例

JS实现简单图片浮动效果的完整攻略

  1. HTML和CSS准备

首先,我们需要准备HTML和CSS代码,以便在页面中添加图片并设置其样式。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>JS实现图片浮动效果</title>
    <style type="text/css">
        .container {
            position: relative;
            width: 500px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            background-color: #f9f9f9;
        }

        .image {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background-color: #fff;
            box-shadow: 0 0 10px rgba(0,0,0,0.3);
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="image"></div>
    </div>
</body>
</html>

首先创建一个div容器(.container),并将其设置为相对定位(position: relative),并添加一些样式来使容器在页面中居中且具有填充、边框、背景色等属性。然后在容器中添加一个div元素(.image),并将其设置为绝对定位(position: absolute),并将其上下左右的偏移设置为50%和transform属性。

此时页面将显示一个灰色的容器,其中包含一个白色的圆形图片。

  1. JS实现图片浮动效果

接下来,我们将会学习使用JavaScript来实现图片浮动效果。主要思路是在图片上绑定鼠标移动事件,并根据鼠标的位置更新图片的位置。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>JS实现图片浮动效果</title>
    <style type="text/css">
        .container {
            position: relative;
            width: 500px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            background-color: #f9f9f9;
        }

        .image {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background-color: #fff;
            box-shadow: 0 0 10px rgba(0,0,0,0.3);
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="image"></div>
    </div>

    <script type="text/javascript">
        var image = document.querySelector(".image");

        image.addEventListener("mousemove", function(event) {
            var mouseX = event.clientX;
            var mouseY = event.clientY;

            image.style.top = mouseY - 100 + "px";
            image.style.left = mouseX - 100 + "px";
        });
    </script>
</body>
</html>

我们首先获取图片元素(.image),并在其上绑定了一个鼠标移动事件。事件处理函数将获取当前鼠标的位置,并根据其在页面中的位置动态更新图片的位置,使其随着鼠标的移动而浮动。

现在在页面中将会看到图片随着鼠标的移动而浮动。

  1. 实现图片的复原效果

由于上述代码只实现了简单的浮动动画,我们需要实现一种方法,使得图片可以回到最初的位置。我们需要在图片的mousemove事件内添加一个setTimeout函数,并通过设置一个时间间隔来使图片回到初始位置。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>JS实现图片浮动效果</title>
    <style type="text/css">
        .container {
            position: relative;
            width: 500px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            background-color: #f9f9f9;
        }

        .image {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background-color: #fff;
            box-shadow: 0 0 10px rgba(0,0,0,0.3);
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="image"></div>
    </div>

    <script type="text/javascript">
        var image = document.querySelector(".image");

        image.addEventListener("mousemove", function(event) {
            var mouseX = event.clientX;
            var mouseY = event.clientY;

            image.style.top = mouseY - 100 + "px";
            image.style.left = mouseX - 100 + "px";

            setTimeout(function() {
                image.style.top = "50%";
                image.style.left = "50%";
            }, 200);
        });
    </script>
</body>
</html>

我们在事件处理函数的最后添加了一个setTimeout函数,使得图片在200毫秒后恢复到初始状态。此时,在页面中将可见图片随着鼠标的移动而浮动,并回到原始位置。

  1. 小结

通过上面的两个示例,我们可以看到,通过使用JavaScript,我们只需要几行代码就可以实现漂亮的图片浮动效果。当然,你可以根据自己的需求来修改代码并实现你想要的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现的简单图片浮动效果完整实例 - Python技术站

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

相关文章

  • 逆战送礼狂欢季活动地址 逆战送礼狂欢季活动奖励一览

    逆战送礼狂欢季活动攻略 活动地址 进入逆战游戏,点击活动中心,即可看到“送礼狂欢季”活动,并可以进入领取礼包页面。 活动奖励 连续登录奖励:首日登录可领取特别奖励,连续登录7天可领取丰厚大礼。 每日任务奖励:每天可完成一定数量的任务,完成任务后即可领取奖励。 每日任务奖励 下面是每日任务及对应奖励一览表: 任务名 描述 奖励 领取每日礼包 进入游戏领取每日礼…

    css 2023年6月10日
    00
  • 所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解

    下面是关于“所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解”的完整攻略。 一、背景介绍 Bootstrap-wysiwyg是基于Bootstrap的富文本编辑器插件,拥有简洁、美观的界面和易用的功能,适用于各种网站开发中的文字、图像编辑等编辑要求。 二、安装与配置 1. 下载bootstrap-wysiwyg 从Github地址中下载…

    css 2023年6月9日
    00
  • 小程序显示弹窗时禁止下层的内容滚动实现方法

    要禁止下层的内容滚动,我们可以通过以下步骤实现: 1. 给body元素添加样式 我们可以给 <body> 元素添加样式来实现下层内容的禁止滚动。将下面的样式代码添加到你页面的CSS文件或页面内嵌的style标签中。 body.modal-open { overflow: hidden; } 这将将窗口的滚动条隐藏,并禁止滚动。 2. JS代码 为…

    css 2023年6月10日
    00
  • Go Web 编程中的模板库应用指南(超详细)

    当我们进行Web开发时,经常需要在页面上使用模板来展示数据。 Go语言中的模板库提供了丰富的功能,可以帮助我们快速地完成模板开发。本文将介绍Go Web编程中的模板库应用指南,包括模板的基本用法、模板函数的使用、过滤器的应用、继承等高级功能。 基本用法 引入模板 在Go开发中,我们可以使用html/template和text/template两个库。通常情况…

    css 2023年6月9日
    00
  • 更靠谱的H5横竖屏检测方法(js代码)

    下面我将详细讲解如何实现更靠谱的H5横竖屏检测方法,并提供两个示例供参考。 1. 背景 在移动端开发中,常常需要根据设备的横竖屏状态来调整页面布局以适应不同的屏幕尺寸和方向。而实现横竖屏检测的方法也多种多样,比如通过screen.orientation.angle、window.orientation、resize事件等。但是这些方法都存在兼容性和准确性等问…

    css 2023年6月9日
    00
  • 基于vue中的scoped坑点解说

    下面详细讲解基于Vue中的scoped样式坑点解说。 什么是scoped样式 在Vue中,我们可以使用scoped样式来局部作用于某个组件,而不会影响全局样式。scoped样式通过在样式文件中添加<style scoped>来声明。 scoped样式的应用 使用scoped样式在Vue组件中可以很好地控制样式,避免样式冲突,具体示例如下: &lt…

    css 2023年6月10日
    00
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

    实现鼠标移入时下划线向两边展开的效果可以使用CSS3中的伪元素::before和::after来实现,具体步骤如下: 首先需要在HTML中给需要添加鼠标移入效果的文字元素添加一个类名,例如:class=”underline”。 在CSS中使用伪元素::before和::after为文字下方添加两条横线,并设置样式,例如: .underline { posit…

    css 2023年6月10日
    00
  • dw中css选择器nthchild怎么使用?

    nth-child是CSS选择器中的一种,可以选择元素的第n个子元素。以下是关于nth-child的详细讲解,包括两个示例说明: 1. nth-child的语法 nth-child选择器的语法如下: :nth-child(n) 其中,n表示要选择的子元素的索引值。例如,:nth-child(2)表示选择第二个子元素。 nth-child选择器还可以使用关键字…

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