实现效果
(因为无法上传视频,做成gif之后又很模糊,只能放在百度网盘里,又因为网盘维护中一定要提取码,而且我自己试了下,貌似看不了,也是很无奈,只能上gif了,也可以运行代码看效果)
html代码( 注意哦: li的id和p的id是相互对应的)
<div class="navbar">
<ul>
<li id="day01">星期一</li>
<li id="day02">星期二</li>
<li id="day03">星期三</li>
<li id="day04">星期四</li>
<li id="day05">星期五</li>
<li id="day06">星期六</li>
<li id="day07">星期日</li>
</ul>
<div class="showTime">
<span>请先选择一个日期哦!</span>
<p id="content01">上班的第一天</p>
<p id="content02">上班的第二天</p>
<p id="content03">上班的第三天</p>
<p id="content04">上班的第四天</p>
<p id="content05">上班的第五天</p>
<p id="content06">上班的第六天</p>
<p id="content07">休息天!!!</p>
</div>
css代码
/* 导航栏 */
ul {
list-style: none;
}
ul{
display: flex;
flex-direction: row;
padding: 0;
margin: 0;
}
ul li {
width: 80px;
height: 50px;
background: #abcdef;
text-align: center;
line-height: 50px;
font-family: Arial, Helvetica, sans-serif;
box-sizing: border-box;
box-shadow: 3px 3px 3px #eee;;
border-right: 1px solid #f5f5f5;
}
.showTime{
width: 560px;
height: 200px;
border: 1px solid #ffff66;
background:#adcefb;
}
.showTime p{
width: 100%;
height:100%;
margin: 0;
}
p:nth-child(2){
background: #bedcaf;
}
p:nth-child(3){
background: #efabcd;
}
p:nth-child(4){
background: #fabecd;
}
p:nth-child(5){
background: #afbedc;
}
p:nth-child(6){
background: #defacb;
}
p:nth-child(7){
background: #eafbcd;
}
p:nth-child(8){
background: #cafedb;
}
.navbar{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.touchOn{
background:#ff9966;
font-size: 20px;font-weight: bold;
}
span{
font-size: 25px;font-weight: bold;
color:#6699ff;
}
js代码(关键)
$(function(){
$(".showTime").find("p").hide();//先隐藏所有p元素
})
$("ul li").click(function () {
if (!$(this).hasClass("touchOn")) {//$(this)表示所点击的元素,在这里极为好用
$(this).addClass("touchOn");//给所点击元素加上touchOn类
}
$(this).siblings().removeClass("touchOn");//移除其他元素的touchOn类
var id = $(this).attr('id');//获取所点击元素的id
id = id.slice(4, 5);//获取所点击元素的id的序号,方便与下文p的id对应
var showId = $(".showTime").find("p").eq((id - 1)).attr('id');//因为index从0开始,这里须id-1
showId='#'+showId;
$(showId).show();
$(showId).siblings().hide();//注意!!!这里不能写$("showId")
})
记得引入jquery
<script src='https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js'></script>
一直以来碰到这个都不会写,总是看别人的,然后第二次还是不会。这一次自己试着写了一个,希望对和我一样不会写的小白有个帮助,做参考之用。也许在大神眼里我的代码些许幼稚,并且繁琐。希望不足之处,大神们可以多多指点,不吝赐教。