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

yizhihongxing

要实现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日

相关文章

  • JavaScript中运算符与数组扩展详细讲解

    JavaScript中运算符与数组扩展详细讲解 运算符 1. 条件三元运算符(? :) 条件三元运算符可以看作是if语句的简化版,它的语法结构为:条件表达式 ? 表达式1 : 表达式2。- 如果条件表达式的结果为true,那么返回值为表达式1;- 如果条件表达式的结果为false,那么返回值为表达式2。 示例代码: function checkAge(age…

    JavaScript 2023年5月18日
    00
  • Java实战之用Spring开发条形码和验证码

    Java实战之用Spring开发条形码和验证码 为了保证网站的安全性和便捷性,很多网站都会使用验证码来防止机器人恶意攻击,而条形码也是在电子商务中常用的一种表示商品信息的方式。本文将详细介绍如何使用Spring框架开发实用的条形码和验证码功能。 准备工作 首先,为了使用Spring框架,需要引入Spring的相关依赖,如下所示: <dependenci…

    JavaScript 2023年5月28日
    00
  • javascript拓展DOM操作 prependChild insertAfert

    当我们需要动态地修改网页的 DOM 结构时,JavaScript 提供了一系列的操作。其中,通过拓展 DOM 的操作方法可以更加方便地实现 DOM 结构的修改。其中,prependChild 和 insertAfter 即是其中的两个常用操作。下面,我们针对这两个操作进行详细讲解。 prependChild 方法 prependChild 方法可以在指定的父…

    JavaScript 2023年6月10日
    00
  • Javascript执行流程细节原理解析

    Javascript执行流程细节原理解析 在进行 Javascript 开发时,我们经常需要关注程序的执行流程,特别是当代码复杂时,错误一般发生在执行时的细节中。本文将深入讲解 Javascript 执行流程的细节原理。 Javascript 执行基础 Javascript 代码的执行流程遵循单线程、事件驱动的基本原则。单线程指的是 Javascript 引…

    JavaScript 2023年5月27日
    00
  • 12个提高JavaScript技能的概念(小结)

    下面我将详细讲解“12个提高JavaScript技能的概念(小结)”的完整攻略。 1. 箭头函数 箭头函数是 ES6 中的新语法,它可以让我们更方便、简洁地创建函数,而且还有一些特殊的作用域规则。箭头函数的语法示例如下: const sum = (a, b) => a + b; 在上面的示例中,我们定义了一个名为 sum 的箭头函数,它接受两个参数 a…

    JavaScript 2023年5月18日
    00
  • 详解JavaScript闭包问题

    下面是详解“详解JavaScript闭包问题”的完整攻略: 什么是闭包 闭包(Closure)指的是在一个函数内部声明的函数,该内部函数可以访问外部函数作用域内的变量。换句话说,如果在一个函数内部声明了另一个函数,并且外部的代码可以访问该内部函数,那么该内部函数才算是一个闭包。 闭包的特性 闭包有两个主要的特性: 可以访问外部函数作用域内的变量 可以在外部函…

    JavaScript 2023年5月18日
    00
  • js日历功能对象

    关于JS日历功能对象的详细讲解,请看下面的攻略。 什么是JS日历功能对象 JS日历功能对象是一个封装了日历相关功能的JavaScript对象,其中包括了生成日历的HTML、获取当前日期、切换月份、选择日期、设置默认日期等功能,极大地方便了Web页面中使用日历的开发。 JS日历功能对象的基本使用方法 以下将以一个名为calendar的日历对象为例,详细讲解JS…

    JavaScript 2023年6月10日
    00
  • JavaScript中的全局对象介绍

    下面我来详细讲解JavaScript中的全局对象。 1. 全局对象概述 在JavaScript中,存在一个特定的对象,称为全局对象(global object)。全局对象在整个JavaScript的环境中都是存在的,可以在任何地方访问。 全局对象扮演着非常重要的角色。它不仅定义了一些JavaScript最基本的属性和方法,还为开发者提供了很多有用的功能,例如…

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