JS实现悬浮移动窗口的特效

发布时间:2026-10-03 04:01:01 浏览次数:4

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

1. HTML结构准备

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

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

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表示鼠标悬停的元素,mouseenter和mouseleave事件分别表示鼠标进入和离开该元素时的动作。

(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结构:

<p id="hover-element">  <img src="/path/to/image.jpg" alt="图片"></p><p id="float-window">  <button id="close-button">关闭</button></p>

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';});

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

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477