原生js如何写点击切换展示不同内容

javascript如何写点击切换展示不同内容

图片展示:如下图

在这里插入图片描述

style部分

代码如下(示例):

			.tab ul li {
				color: #000000;
			}
			.tab ul li.TabActive {
				color: #ff0000;
			}
			.content ul li {
				display: none;
			}
			.content ul li.ContActive {
				display: block;
			}

html部分

代码如下(示例):

<!-- 切换按钮部分 -->
		<div class="tab">
			<ul>
				<li class="TabActive">标题一</li>
				<li>标题二</li>
				<li>标题三</li>
				<li>标题四</li>
			</ul>
		</div>
		<!-- 被切换内容部分 -->
		<div class="content">
			<ul>
				<li class="ContActive">内容一</li>
				<li>内容二</li>
				<li>内容三</li>
				<li>内容四</li>
			</ul>
		</div>

script部分

代码如下(示例):

<script type="text/javascript">
			window.onload = function() {
				// 进入就加载方法
				tabClick(); //切换方法
			}

			function tabClick() {
				var tab = document.querySelectorAll(".tab ul li"); // 获取tab所有 li
				var cont = document.querySelectorAll(".content ul li") //获取content所有 li
				if (tab && cont) { //严格模式 取到tab 和 cont 之后再进行其他
					for (var i = 0; i < tab.length; i++) { //给每一个tab添加点监听点击事件
						addHover(i);
					}
					//添加点击监听
					function addHover(i) {
						tab[i].addEventListener('click', function() { //点击切换
							// tab[i].addEventListener('mouseover', function() {//悬浮切换
							setTabClass(i);
							setContClass(i)
						});
					}
					// 切换按钮的事件
					function setTabClass(num) {
						// 移出所有的TabActive名称
						for (var i = 0; i < tab.length; i++) {
							tab[i].classList.remove("TabActive");
						}
						// 点击的哪个给哪个添加TabActive
						tab[num].classList.add("TabActive");
					}
					// 切换内容的事件
					function setContClass(num) {
						// 移出所有的ContActive名称
						for (var i = 0; i < cont.length; i++) {
							cont[i].classList.remove("ContActive");
						}
						// 点击的哪个给哪个添加ContActive
						cont[num].classList.add("ContActive");
					}
				}
			}
		</script>

总结

实现原理:利用点击切换,实现添加不同的class名称来控制显示和隐藏

好的,以下是实现点击按钮隐藏和显示div内容,以及切换div内容的代码: HTML代码: ``` <div id="content1" class="content">这是内容1</div> <div id="content2" class="content" style="display:none;">这是内容2</div> <div id="content3" class="content" style="display:none;">这是内容3</div> <button id="btn1" onclick="toggleContent(1)">显示内容1</button> <button id="btn2" onclick="toggleContent(2)">显示内容2</button> <button id="btn3" onclick="toggleContent(3)">显示内容3</button> ``` CSS代码: ``` .content { padding: 10px; border: 1px solid #ccc; margin-bottom: 10px; } ``` JavaScript代码: ``` function toggleContent(contentNum) { // 隐藏所有内容 var contents = document.querySelectorAll('.content'); for (var i = 0; i < contents.length; i++) { contents[i].style.display = 'none'; } // 显示指定的内容 var targetContent = document.querySelector('#content' + contentNum); targetContent.style.display = 'block'; } ``` 这个代码的实现思路是,当用户点击按钮时,调用toggleContent函数。该函数首先隐藏所有的内容,然后根据传入的参数contentNum,显示对应的内容。其中,使用querySelectorAll函数和循环来隐藏所有的内容,使用querySelector函数来获取指定的内容,并将其display属性设置为'block'来显示出来。 注意,这里使用了inline的方式在HTML中指定了默认显示和隐藏的样式,但实际开发中最好将样式放到CSS中,以便维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值