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

yizhihongxing

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日

相关文章

  • html中设置让div中的内容超出后自动显示滚动条

    HTML中可以通过CSS样式来设置让DIV中的内容超出后自动显示滚动条。以下是设置DIV滚动条的步骤: 1. 创建包含内容的DIV元素 将需要添加滚动条的内容放在一个DIV元素中。可以使用以下代码示例创建一个DIV元素: <div id="scrollable-content"> <!– 这里是需要添加滚动条的内容 -…

    css 2023年6月10日
    00
  • 原生JS实现图片轮播切换效果

    下面是“原生JS实现图片轮播切换效果”的完整攻略。 什么是图片轮播切换效果? 图片轮播切换效果是指在网页上展示一组图片,并在规定的时间间隔内自动切换图片或者在用户交互的作用下手动切换图片。图片轮播切换效果是Web前端页面设计中常用的一个功能。 使用原生JS实现图片轮播切换效果,需要做哪些工作? 使用原生JS实现图片轮播切换效果需要做以下几个步骤: 创建包含多…

    css 2023年6月11日
    00
  • React的事件处理你了解吗

    React是一个流行的JavaScript框架,用于构建用户界面。React通过组件实现复杂的界面,而这些组件可以通过绑定事件来响应用户的交互。在React中,事件处理非常重要,因此对事件处理的深入了解是非常必要的。 事件处理 在React中,我们可以通过向组件添加事件处理函数来响应用户的交互。React的事件处理与HTML元素的事件处理类似,但有一些区别。…

    css 2023年6月9日
    00
  • 绝对定位也可触发行内元素的layout说明

    绝对定位也可触发行内元素的layout,是指当一个元素使用绝对定位时,不仅会触发自身的layout,还会导致其包含的行内元素也触发layout。这个现象可能会导致意料之外的布局问题,需要特别注意。 下面是两个具体的示例,说明了绝对定位对行内元素的layout触发影响: 示例一 HTML 代码如下: <div class="wrapper&qu…

    css 2023年6月9日
    00
  • 浅谈Flex布局与缩放比例计算

    浅谈Flex布局与缩放比例计算 Flex布局是CSS3中新增的一种布局模式,旨在解决传统布局模式的一些问题。在这种布局模式下,容器可以将其子元素按照特定的比例进行排列和分配空间,从而实现自适应布局的效果。同时,通过计算缩放比例可以让Flex布局更加灵活。 一、Flex布局 1.1 容器和子元素 在Flex布局中,需要设置一个容器来包裹子元素,然后为容器设置f…

    css 2023年6月10日
    00
  • GoJs面板绘图模板go.Panel使用示例详解

    GoJS是一个强大的JavaScript图形库,可以用于在网页中创建各种类型的图表和流程图。面板绘图模板go.Panel是一种强大的工具,可以帮助用户绘制和定位网页上的图形元素。本文将详细介绍GoJS面板绘图模板go.Panel的使用方法,旨在帮助用户更好地使用该功能。 一、go.Panel简介 go.Panel是GoJS库中用于绘制网页图表的核心模块。它包…

    css 2023年6月10日
    00
  • HTML head(头部)标签详解

    HTML的<head>标签是HTML文档的头部,它通常用来引入外部资源和指定文档的一些元数据。下面我们来详细讲解<head>标签的相关属性和用法。 <head>标签的语法格式如下: <!DOCTYPE html> <html> <head> <!– head元素内容 –>…

    Web开发基础 2023年3月16日
    00
  • vue.js表格组件开发的实例详解

    首先,我们需要明确这篇文章的目标:讲解如何开发一个基于Vue.js的表格组件,并提供实例说明。 下面是该攻略的完整流程: 1. 确定功能 在开始开发表格组件之前,首先需要明确组件需要实现的功能。通常表格组件应该有以下功能: 支持分页和行数设置; 支持搜索和查询; 支持排序; 具备可读性高,易维护的构建方法。 2. 开发基础结构 开发表格组件需要首先确定基础的…

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