js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动

下面我将详细讲解如何使用JavaScript实现遮罩层登录框和对联广告,并使其自动跟随滚动条滚动的完整攻略。

实现遮罩层登录框

制作遮罩层

制作遮罩层可以通过CSS中的 position 和 z-index 来实现,具体步骤如下:

1.将整个页面包含在一个父容器内,然后设置父容器为相对定位 position: relative

.parent-container {
  position: relative;
}

2.使用伪元素 ::before::after 对父容器进行覆盖,并设置其背景为半透明蒙层。

.parent-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

这里通过 content: "" 来生成一个匿名内容,然后通过 position: absolute 来使其与父容器重叠,借助 background-color 属性设置其背景颜色为半透明。

3.对登录框进行定位,并将其 z-index 设置为较高的值,使其显示在遮罩层之上。

.login-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

这里使用 position: absolute 将登录框定位在遮罩层内,并通过 top: 50%; left: 50%; transform: translate(-50%, -50%) 实现了水平/垂直居中定位。

实现JavaScript功能

1.监听登录按钮的点击事件,并在点击时显示登录框。

const loginBtn = document.querySelector("#login-btn");
const loginBox = document.querySelector(".login-box");
loginBtn.addEventListener("click", function () {
  loginBox.style.display = "block";
});

这里通过 querySelector 方法分别获取登录按钮和登录框,然后在登录按钮的点击事件中将登录框的 display 样式设置为 block,从而使其显示出来。

2.监听遮罩层的点击事件,并在点击时隐藏登录框。

const mask = document.querySelector(".parent-container::before");
mask.addEventListener("click", function () {
  loginBox.style.display = "none";
});

这里通过 querySelector 方法获取遮罩层,然后在遮罩层的点击事件中将登录框的 display 样式设置为 none,从而使其隐藏起来。

实现对联广告跟随滚动

制作对联广告

对联广告是一种特殊的广告形式,指在页面两侧悬挂的一种广告形式。制作对联广告可以通过CSS中的 position 和 z-index 来实现,具体步骤如下:

1.将整个页面包含在一个父容器内,然后设置父容器为相对定位 position: relative

.parent-container {
  position: relative;
}

2.分别使用绝对定位 position: absolute 对左右两侧的广告进行定位,并设置其 z-index 为一个较高的数值。

.left-ad, .right-ad {
  position: absolute;
  top: 0;
  width: 200px;
  height: 200px;
  z-index: 10;
}
.left-ad {
  left: 0;
  background-color: #f00;
}
.right-ad {
  right: 0;
  background-color: #0f0;
}

注意,这里需要给广告设置一个相同的宽度和高度。

实现JavaScript功能

1.监听滚动条的滚动事件,并计算页面的滚动距离。

window.addEventListener("scroll", function () {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
});

这里通过 scrollTop 属性获取页面的滚动距离,注意这里需要考虑各种浏览器的兼容性。

2.通过计算滚动距离,设置对联广告的位置。

const leftAd = document.querySelector(".left-ad");
const rightAd = document.querySelector(".right-ad");
window.addEventListener("scroll", function () {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  leftAd.style.top = scrollTop + "px";
  rightAd.style.top = scrollTop + "px";
});

这里通过 querySelector 方法获取左右两侧的广告,然后在滚动事件中将其 top 样式设置为滚动距离 scrollTop,从而实现对联广告的自动跟随滚动条滚动。

至此,JS写出遮罩层登录框和对联广告并自动跟随滚动条滚动的完整攻略就结束了。以上是两个示例说明,您可以根据自己的需求进行修改、拓展。如果还有不清楚的地方,可以继续跟我交流。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动 - Python技术站

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

相关文章

  • 小程序显示弹窗时禁止下层的内容滚动实现方法

    要禁止下层的内容滚动,我们可以通过以下步骤实现: 1. 给body元素添加样式 我们可以给 <body> 元素添加样式来实现下层内容的禁止滚动。将下面的样式代码添加到你页面的CSS文件或页面内嵌的style标签中。 body.modal-open { overflow: hidden; } 这将将窗口的滚动条隐藏,并禁止滚动。 2. JS代码 为…

    css 2023年6月10日
    00
  • CSS解决浏览器的等宽空格问题

    CSS解决浏览器的等宽空格问题主要是为了解决单词间距不统一的问题,因为不同的字母和符号所占的宽度不同,在有些情况下,使用空格或者tab都无法让文字之间的距离完全一致。这里提供一些解决方案。 方案一:使用CSS属性 word-spacing CSS属性word-spacing可以控制文字之间的间隔。我们可以将值设为-1px,这样文字之间的间距就会缩小一个像素,…

    css 2023年6月9日
    00
  • 微信小程序自定义导航栏及其封装的全过程

    下面我将为您详细讲解微信小程序自定义导航栏及其封装的全过程。 什么是微信小程序自定义导航栏 微信小程序自带的导航栏样式是固定的,但是有些时候我们需要对导航栏进行自定义,比如更换背景颜色、更改字体颜色等,这时就需要用到自定义导航栏。 自定义导航栏的基本实现方法 我们可以通过在自定义页面中引用小程序提供的 wx.getSystemInfo() 方法来获取当前设备…

    css 2023年6月10日
    00
  • Ant Design中使用css切换的问题及解决

    Ant Design是一套基于React组件化开发的UI框架,提供了众多的可复用、易于维护的组件,方便快速开发Web应用。在Ant Design中,使用CSS切换的问题比较普遍,主要是由于Ant Design采用了Less预处理器,导致CSS文件中的变量和样式名不易于直接修改。下面,我们将详细讲解Ant Design中使用CSS切换的问题及解决方案。 问题描…

    css 2023年6月10日
    00
  • div盒子究竟占多大面积实际的宽度高度如何计算

    要完整讲解“div盒子究竟占多大面积实际的宽度高度如何计算”,我们需要了解以下几个方面: 盒子模型的概念 内容区、内边距、边框、外边距等属性所占的宽度和高度 实际计算宽度和高度时的注意事项 首先,盒子模型是CSS布局中的一个概念,即一个元素在页面上占据的空间可以看作一个盒子,该盒子由内容区、内边距、边框和外边距等组成。 具体而言,内容区指的是盒子中呈现内容的…

    css 2023年6月10日
    00
  • Flask 表单处理方法(含源码)

    Flask中表单处理是非常重要的一个功能。在这篇文章中,我们将会讲解如何使用Flask来处理表单。在我们开始之前,假定您已经熟悉Flask的基础知识,如创建应用程序、路由、模板等。 我们将会分为以下几个步骤介绍如何完成整个表单处理过程: 创建HTML表单 首先,我们需要在HTML页面上创建一个表单。表单需要有一个action,method和一个提交按钮。下面…

    Flask 2023年3月13日
    00
  • DIV+CSS实现的滑动门菜单特效代码

    接下来我会为您详细讲解“DIV+CSS实现的滑动门菜单特效代码”的完整攻略。 一、前提准备 在实现该特效代码前,我们需要做以下几个前置准备: 确保您有一份完整的HTML和CSS的代码文件; 熟悉DIV和CSS的基本概念和使用方法; 准备好需要使用该特效的菜单图标及其它必要素材。 二、实现步骤 1.创建宽度确定的外层DIV包容器 我们需要先创建一个外层DIV包…

    css 2023年6月10日
    00
  • 浅析Bootstrap缩略图组件与警示框组件

    浅析Bootstrap缩略图组件与警示框组件 Bootstrap是一个经典的前端框架,提供了许多实用的组件和工具。本文将为大家介绍Bootstrap中的缩略图组件和警示框组件。 缩略图组件 在Bootstrap中,缩略图组件一般用于显示一组图片或者视频的缩略图,非常适合用于多媒体网站、电商网站等等。 基本用法 缩略图组件的基本代码如下: <div cl…

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