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日

相关文章

  • css 中多种边框的实现小窍门

    下面是关于“css 中多种边框的实现小窍门”的完整攻略。 1. 常规边框样式 在 CSS 中,我们可以使用 border 属性来设置元素的边框样式。常规边框样式包括: solid:实线样式 dotted:点状样式 dashed:虚线样式 double:双线样式 groove:3D 浮雕样式(向内凹陷) ridge:3D 浮雕样式(向外凸起) inset:3D…

    css 2023年6月9日
    00
  • 浅析与CSS3的loading动画加载相关的transition优化

    下面是关于“浅析与CSS3的loading动画加载相关的transition优化”的完整攻略。 什么是CSS3的loading动画加载? CSS3的loading动画加载,顾名思义,是指使用CSS3来实现的页面加载动画。通过对一系列元素的设计,从而达到页面加载时显示动画的效果。这种动画效果可以提高用户等待加载的体验感,从而增加用户对网站的好感度。 trans…

    css 2023年6月10日
    00
  • CSS大师Eric采访实录

    CSS大师Eric采访实录 简介 本文是一篇关于CSS大师Eric采访实录的完整攻略。如果你对CSS技术和CSS大师Eric感兴趣,那么本文将会给你带来很多的有用信息。 攻略 阅读材料 在进行攻略之前,我们需要准备一些阅读材料,以便更好地理解CSS大师Eric的技术和思路。以下是一些推荐的资料: Eric Meyer的博客 CSS权威指南(Eric Meye…

    css 2023年6月9日
    00
  • 5分钟教你学会 CSS Grid 布局

    下面是详细的“5分钟教你学会 CSS Grid 布局”的攻略。 什么是 CSS Grid 布局? CSS Grid 布局是一种二维网格布局系统,可以用于快速创建复杂的布局,同时具有灵活性和可响应性。 如何使用 CSS Grid 布局? 1. 创建网格容器 要使用 CSS Grid 布局,首先需要为网格容器设置 display 属性为 grid。 .conta…

    css 2023年6月10日
    00
  • 对CSS选择器权重的认识(亲测)

    对CSS选择器权重的认识是Web前端开发的一项重要知识点。CSS选择器权重(优先级)指定了在多个选择器同时匹配同一个元素时哪个规则应该被应用。 理解选择器权重的规则 CSS选择器权重由四个级别组成:内联样式(style属性)的权重最高,其次是ID选择器、类选择器、伪类选择器和属性选择器,再次是元素和伪元素选择器(如::before和::after),最后是通…

    css 2023年6月9日
    00
  • phpexcel导出excel的颜色和网页中的颜色显示不一致

    下面是针对“phpexcel导出excel的颜色和网页中的颜色显示不一致”的攻略: 问题描述 PHPExcel 是一个基于 PHP 的电子表格处理库,可以方便地实现导入导出 Excel 文件的功能。在使用 PHPExcel 导出 Excel 文件时,部分开发者可能会遇到颜色在导出后与网页中显示不一致的问题。 解决方法 1. 颜色码规范 首先,需要了解 Exc…

    css 2023年6月9日
    00
  • 左边固定宽右边自适应的6种方法

    针对“左边固定宽右边自适应的6种方法”,以下是详细的攻略: 一、使用float属性 通过给左边固定宽的元素设置浮动属性float: left,并给右边自适应的元素设置margin-left和overflow:hidden属性,就可以达到目的。 示例代码: <div class="container"> <div clas…

    css 2023年6月10日
    00
  • CSS border-style 属性使用方法

    当我们在使用CSS对网页进行样式设计时,经常需要设置一个元素的边框样式。CSS提供了border-style属性,用于设置元素边框的样式,可以实现简单的边框效果或复杂的边框图案。 一、border-style 属性详解 border-style用于设置元素边框的样式,支持以下值: solid dashed dotted double groove ridge…

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