当前位置: 首页 > article >正文

关闭小广告【JavaScript】

在 JavaScript 中实现关闭小广告的功能,可以通过监听点击事件来隐藏广告元素。

实现效果:

代码:

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>关闭小广告示例</title>
		<style>
			.ad {
				width: 300px;
				height: 100px;
				background-color: lightblue;
				position: relative;
				margin: 20px;
				padding: 10px;
				border: 1px solid #000;
			}

			.close-btn {
				position: absolute;
				top: 5px;
				right: 5px;
				cursor: pointer;
				background-color: red;
				color: white;
				border: none;
				padding: 5px;
			}
		</style>
	</head>
	<body>
		<div class="ad">
			<button class="close-btn">关闭</button>
			<p>这是一个小广告!</p>
		</div>

		<script>
			const closeButtons = document.querySelectorAll('.close-btn');

			//方式一
			closeButtons.forEach(button => {
				button.addEventListener('click', function() {
					const ad = this.parentElement;
					ad.style.display = 'none'; // 隐藏广告
				});
			});


			// //方式二
			// for (let i = 0; i < closeButtons.length; i++) {
			// 	closeButtons[i].addEventListener('click', function() {
			// 		const ad = this.parentElement;
			// 		ad.style.display = 'none'; // 隐藏广告
			// 	});
			// }
		</script>
	</body>
</html>

部分代码解析:

方式一:

const closeButtons = document.querySelectorAll('.close-btn');

			closeButtons.forEach(button => {
				button.addEventListener('click', function() {
					const ad = this.parentElement;
					ad.style.display = 'none'; // 隐藏广告
				});
			});
代码解析:

1. 选择元素:

const closeButtons = document.querySelectorAll('.close-btn');
  • 使用 document.querySelectorAll 方法选择所有带有 close-btn 类的元素,并将它们存储在 closeButtons 变量中。返回的结果是一个 NodeList(类似数组的对象)。

2. 遍历按钮:

closeButtons.forEach(button => {
  • 使用 forEach 方法遍历每个关闭按钮。

3. 添加事件监听器:

button.addEventListener('click', function() {
  • 为每个按钮添加一个点击事件监听器,当按钮被点击时,将会执行后面的函数。

4. 隐藏广告:

const ad = this.parentElement;
ad.style.display = 'none'; // 隐藏广告
  • 在点击事件处理函数中,this 代表被点击的按钮。this.parentElement 获取按钮的父元素(假设这是广告的容器),然后将其 display 样式设置为 'none',这会隐藏这个广告元素。

方式二:

const closeButtons = document.querySelectorAll('.close-btn');

for (let i = 0; i < closeButtons.length; i++) {
    closeButtons[i].addEventListener('click', function() {
        const ad = this.parentElement;
        ad.style.display = 'none'; // 隐藏广告
    });
}
代码解析: 
  • 使用 for 循环,从 0 开始,直到 closeButtons.length,逐个访问每个关闭按钮。
  • 使用 closeButtons[i] 来获取当前按钮,并添加点击事件监听器。
  • this.parentElement 是用于获取当前 DOM 元素的父元素。在事件处理函数中,this 代表触发事件的元素(在你的例子中是关闭按钮),而 parentElement 属性则返回该元素的父节点。

http://www.kler.cn/a/315700.html

相关文章:

  • 树形dp总结
  • 详解基于C#开发Windows API的SendMessage方法的鼠标键盘消息发送
  • JQuery封装的ajax
  • 24/11/13 算法笔记<强化学习> DQN算法
  • STM32 GPIO 配置
  • 机器学习基础02_特征工程
  • 【线程】线程的同步
  • PHP转Go很丝滑开发框架设计思路-把php优秀设计借鉴到Go框架设计里面-保留php开发习惯又能提供高软件性能
  • OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用
  • 利用JAVA写一张纸折叠珠穆拉玛峰高度
  • 算法打卡:第十一章 图论part04
  • 情指行一体化平台建设方案和必要性-———未来之窗行业应用跨平台架构
  • 0基础学习PyTorch——最小Demo
  • AI教你学Python 第17天 :小项目联系人管理系统
  • 小程序-模板与配置
  • 乱弹篇(53)丹桂未飘香
  • Excel常用函数大全
  • DAPP智能合约系统开发
  • 【计算机网络 - 基础问题】每日 3 题(十八)
  • SecureCRT下载
  • 如何在 MySQL Workbench 中修改表数据并保存??
  • 记一次Meilisearch轻量级搜索引擎使用
  • 蓝桥杯1.小蓝的漆房
  • 网络安全等保培训 ppt
  • 循环单链表来表示队列
  • Qt Debugging帮助文档