JS实现悬浮移动窗口(悬浮广告)的特效

要实现JS实现悬浮移动窗口(悬浮广告)的特效,需要以下步骤:

1. HTML结构准备

首先,需要在HTML文件中添加一个div作为悬浮窗口的容器,以及一个button作为关闭悬浮窗口的按钮。例如:

<div id="float-window">
  <button id="close-button">关闭</button>
</div>

2. 通过CSS样式设置悬浮窗口的样式

为悬浮窗口设置样式以使其达到悬浮的效果,例如:

#float-window {
  position: fixed;
  width: 200px;
  height: 150px;
  background-color: #fff;
  left: 50%;
  top: 30%;
  margin-left: -100px;
  margin-top: -75px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .3);
  z-index: 9999;
  display: none;
}

其中,position: fixed属性将悬浮窗口的位置固定在页面中,z-index属性确保悬浮窗口在页面上处于最上层。

3. 编写JS代码实现悬浮窗口的出现和关闭

(1)实现悬浮窗口的出现

可以通过设置悬浮窗口的display属性来控制其是否显示。当鼠标经过页面中的某个元素时,将悬浮窗口的display属性设置为block,鼠标移出时则将其设置为none。例如:

const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');

hoverElement.addEventListener('mouseenter', () => {
  floatWindow.style.display = 'block';
});

hoverElement.addEventListener('mouseleave', () => {
  floatWindow.style.display = 'none';
});

在这个示例中,hover-element表示鼠标悬停的元素,mouseentermouseleave事件分别表示鼠标进入和离开该元素时的动作。

(2)实现关闭悬浮窗口的按钮

在HTML中已经添加了一个按钮元素,需要为其添加事件监听器,在按钮被点击时关闭悬浮窗口。例如:

const closeButton = document.querySelector('#close-button');

closeButton.addEventListener('click', () => {
  floatWindow.style.display = 'none';
});

在这个示例中,当按钮被点击时,触发了一个回调函数,将悬浮窗口的display属性设置为none,从而关闭悬浮窗口。

示例说明

示例1

悬浮窗口的出现和关闭方法:

const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');
const closeButton = document.querySelector('#close-button');

hoverElement.addEventListener('mouseenter', () => {
  floatWindow.style.display = 'block';
});

hoverElement.addEventListener('mouseleave', () => {
  floatWindow.style.display = 'none';
});

closeButton.addEventListener('click', () => {
  floatWindow.style.display = 'none';
});

示例2

鼠标悬浮在一个图片上显示悬浮窗口,当点击关闭按钮时,悬浮窗口消失。

HTML结构:

<div id="hover-element">
  <img src="/path/to/image.jpg" alt="图片">
</div>

<div id="float-window">
  <button id="close-button">关闭</button>
</div>

CSS样式:

#float-window {
  position: fixed;
  width: 200px;
  height: 150px;
  background-color: #fff;
  left: 50%;
  top: 30%;
  margin-left: -100px;
  margin-top: -75px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .3);
  z-index: 9999;
  display: none;
}

JS代码:

const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');
const closeButton = document.querySelector('#close-button');

hoverElement.addEventListener('mouseenter', () => {
  floatWindow.style.display = 'block';
});

hoverElement.addEventListener('mouseleave', () => {
  floatWindow.style.display = 'none';
});

closeButton.addEventListener('click', () => {
  floatWindow.style.display = 'none';
});

通过这两个示例,可以清楚地理解如何实现悬浮移动窗口(悬浮广告)的特效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现悬浮移动窗口(悬浮广告)的特效 - Python技术站

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

相关文章

  • vue的table表格组件的封装方式

    下面我来详细讲解 “Vue的Table表格组件的封装方式”。 一、前言 Vue的Table表格组件在许多Web应用程序中都有着广泛的应用,Table组件可以方便地呈现大量的数据,并提供强大的过滤、搜索、分页等功能,十分受 Web 开发者的喜欢。因此,本文将为大家分享一种Vue的Table表格组件的封装方式。 二、封装方式 1、基本思路 Vue的Table表格…

    JavaScript 2023年6月10日
    00
  • javascript如何实现create方法

    当我们在 JavaScript 中使用面向对象编程时,有时需要创建一个对象模板,并基于该模板创建许多对象实例。JavaScript 的原型继承机制允许我们通过创建一个构造函数模板并向其原型对象添加方法和属性来实现这一目的。在这个过程中,我们可以使用 JavaScript 中的 create 方法,其允许我们基于一个现有对象创建一个新对象。 下面是使用 cre…

    JavaScript 2023年5月27日
    00
  • JavaScript函数声明和函数表达式的区别

    JavaScript中定义函数有两种方式:函数声明和函数表达式。虽然它们在外观上相似,但它们之间有许多关键差异。下面将详细介绍这两种方式的区别。 函数声明 函数声明是一种定义函数的方式,它使用关键字 function 以及函数名来创建函数。函数声明的语法如下: function functionName(parameter1, parameter2, ……

    JavaScript 2023年5月27日
    00
  • jQuery EasyUI之验证框validatebox实例详解

    我将为您详细讲解关于“jQuery EasyUI之验证框validatebox实例详解”的完整攻略。 一、什么是validatebox validatebox是jQuery EasyUI插件中的一个用于验证输入框的工具。在Web开发中,我们经常需要对用户输入的数据进行验证,以保证数据的正确性和合法性。validatebox插件提供了强大的输入验证功能,可以对…

    JavaScript 2023年6月10日
    00
  • 浅谈Javascript事件处理程序的几种方式

    浅谈Javascript事件处理程序的几种方式 Javascript作为一门客户端脚本语言,广泛应用于网页开发中。为了实现网页动态效果和交互功能,Javascript提供了一系列的事件处理程序。本篇文章将介绍Javascript事件处理程序的几种常用方式,以及它们的优缺点。 1. 在HTML中添加事件处理程序 在HTML元素的属性中添加事件处理程序是一种简单…

    JavaScript 2023年5月27日
    00
  • JavaScript高级程序设计(第3版)学习笔记 概述

    JavaScript高级程序设计(第3版)学习笔记 概述 为什么要学习JavaScript高级程序设计? JavaScript是现代web开发中最重要的一门编程语言之一。学习JavaScript高级程序设计能够让我们更加深入地了解JavaScript的内部机制,掌握JavaScript的高级特性和技巧,开发出更加高效、可维护、可扩展的web应用程序。 怎样开…

    JavaScript 2023年5月27日
    00
  • Layui事件监听的实现(表单和数据表格)

    概述: Layui是一个轻量级的前端UI框架,其特点是注重结构化,适度封装与扩展性,而且非常适合大型的前端应用开发。在Layui中,实现事件监听是非常重要的一部分。本文将详细介绍Layui事件监听的实现,包括如何监听表单提交事件、数据表格行操作事件等常见事件,同时提供完整的代码示例进行说明。 Layui表单提交事件监听: 在Layui提交表单的过程中,可以通…

    JavaScript 2023年6月10日
    00
  • VSCode开发TypeScript的实现步骤

    下面是VSCode开发TypeScript的实现步骤的完整攻略: 步骤一:安装VSCode和TypeScript插件 首先需要安装Visual Studio Code(以下简称VSCode),并在VSCode中安装TypeScript插件。可以在VSCode内部搜索TypeScript插件并安装,也可以在官网下载安装。 步骤二:创建TypeScript项目 …

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