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日

相关文章

  • js中根据字数截取字符串,不能截断url

    根据你的要求,我将详细讲解“JS中根据字数截取字符串,不能截断URL”问题的解决方案。 问题描述 在web开发中,我们可能会遇到这样的场景:需要在显示文本时截取字符串,限制其最大字数,但是需要保留其中的url地址,也就是说,不能简单的按照字符数截断字符串,而是需要在url出现的位置进行裁剪。例如: 原文本:This is an example of a lo…

    JavaScript 2023年5月28日
    00
  • JavaScript关于提高网站性能的几点建议(一)

    下面是详细讲解 “JavaScript关于提高网站性能的几点建议(一)” 的完整攻略: 1. 使用事件委托 当我们需要在多个元素上绑定相同的事件,传统的做法是给每个元素都绑定一遍,这样就会导致页面加载过慢,影响用户体验。使用事件委托可以解决这个问题,它会将事件绑定到元素的父元素上,当子元素触发事件时,事件会冒泡到父元素,再去执行绑定的事件处理函数。 下面是一…

    JavaScript 2023年5月27日
    00
  • javascript smipleChart 简单图标类

    OK,下面是“javascript simpleChart 简单图表类”的详细攻略: 1. 简介 simpleChart 是基于原生的 JavaScript 开发的一个简单易用的图表库,用于在网页中绘制常见的统计图表,如折线图、柱形图、饼图等。它的优点是使用灵活、兼容性好、易于扩展,适合用于数据可视化方面的开发。 2. 如何使用 2.1 引入文件 使用 si…

    JavaScript 2023年6月10日
    00
  • JS网页在线获取鼠标坐标值的方法

    下面是关于JS网页在线获取鼠标坐标值的方法的完整攻略。 1. 安装并引入jQuery 如果要在线获取鼠标坐标值的话,可以使用jQuery库中的mousemove事件。因此,首先需要安装并引入jQuery。 <!– 引入jQuery库 –> <script src="https://cdn.bootcdn.net/ajax/li…

    JavaScript 2023年6月10日
    00
  • 一些相见恨晚的 JavaScript 技巧

    下面是对于“一些相见恨晚的 JavaScript 技巧”的完整攻略: 一些相见恨晚的 JavaScript 技巧 JavaScript 作为一种非常灵活的编程语言,我们可以使用其提供的一些技巧来更加高效地开发。下面罗列了一些我认为在实际开发中可能相见恨晚的 JavaScript 技巧,供大家参考。 使用 Array.prototype.reduce() 来替…

    JavaScript 2023年5月18日
    00
  • spring boot(四)之thymeleaf使用详解

    下面我将详细讲解“spring boot(四)之thymeleaf使用详解”的完整攻略。 1. 什么是Thymeleaf Thymeleaf是一个现代的服务器端Java模板引擎,旨在提供HTML效果的自然模板创建。它旨在生产出可以用浏览器查看的HTML,并且是非常适合web开发人员的,因为Thymeleaf非常适合处理HTML,最小化代码数量并让设计师或开发…

    JavaScript 2023年6月11日
    00
  • React Native学习之Android的返回键BackAndroid详解

    React Native学习之Android的返回键BackAndroid详解 在React Native开发中,当我们在Android设备上运行应用程序时,通常需要按下“返回键”来退出应用程序或返回上一个屏幕。然而,如果我们没有正确地处理“返回键”事件,它可能会导致应用程序无响应或崩溃。 本篇文章将介绍如何使用React Native处理Android设备…

    JavaScript 2023年6月11日
    00
  • 关于ThinkPhp 框架表单验证及ajax验证问题

    下面是关于ThinkPhp框架表单验证及ajax验证问题的完整攻略。 1. ThinkPhp框架表单验证 1.1 表单验证介绍 ThinkPhp框架提供了表单验证功能,可以对用户提交的表单数据进行验证,保证数据的有效性和安全性。 1.2 表单验证的使用步骤 思路:在控制器中首先实例化验证器类,然后在验证规则和错误提示信息数组中定义验证规则,最后使用check…

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