再看那柔弱的柳树吧,在寒冬余威尚盛时节,就早早苏醒过来,望着冰冻的河面,迎着凛冽的寒风,它微微察觉出一丝春意,于是,不顾一切地率先吐翠,淡淡地披起娇黄嫩绿的新装。沿河望去,枝梢间烟纱雾彀,一片生机,这情景仿佛一首动人的歌,一首热烈向往春天的歌,一首报告春的信息的歌,一首表达美好信念的歌。我在想:既然迎春花被人称作报春花,那么,柳树可不可以叫作报春树呢春来了,万千柳枝在春风中袅袅舞动。柳树是热爱春天的,春天也是热爱柳树的。
今天机试有个内容是做网易云课堂tab栏切换的,如下
先简单说下我当时的想法
1.先弄一个大div盒子,我命名为tab
2.在大盒子tab里面有两个小盒子,分别是标题栏(tab_list)和内容栏(tab_con)
3.采用display:flex;使标题栏菜单和内容栏的内容水平对齐(可能待会放的代码不是很规范,但实现对齐效果)
4.js编写鼠标移入事件,主要是利用display:none和display:block之间的切换。
下面放下我当时写的代码吧,可能写得不是很正规,不符合习惯,请大家见谅
由于代码太多分几部分说
HTML部分——大致布局,标题栏和内容栏
<div class="tab">
<div class="tab_list">
<ul>
<li class="active" >今日 20:00开抢</li>
<li>明天 10:00开抢</li>
<li>明天 14:00开抢</li>
<li>明天 20:00开抢</li>
<li>后天 10:00</li>
<li>后天 14:00</li>
</ul>
</div>
<div class="tab_con">
<div class="item" style="display: block">
</div>
<div class="item">
</div>
<div class="item">
</div>
<div class="item">
</div>
<div class="item">
</div>
<div class="item">
</div>
</div>
</div>
部分内容区item区域的HTML代码,基本差不多
<div class="item" style="display: block">
<div class="box">
<div class="product">
<a><img src="img/pic1.png"/></a>
<div class="price" >
<h3>javascript课程</h3>
<h5>妙学堂</h5>
<p>
<span style="color: red;font-size: 16px;">¥49.9</span>
<span style="text-decoration:line-through ;font-size: 10px;">¥1600</span>
<span style="border: 3px gainsboro dashed;margin-left: 55px;font-size: 16px;">即将开抢</span>
</p>
</div>
</div>
<div class="product">
<a><img src="img/pic1.png"/></a>
<div class="price" >
<h3>javascript课程</h3>
<h5>妙学堂</h5>
<p>
<span style="color: red;font-size: 16px;">¥49.9</span>
<span style="text-decoration:line-through ;font-size: 10px;">¥1600</span>
<span style="border: 3px gainsboro dashed;margin-left: 55px;font-size: 16px;">即将开抢</span>
</p>
</div>
</div>
<div class="product">
<a><img src="img/pic1.png"/></a>
<div class="price" >
<h3>javascript课程</h3>
<h5>妙学堂</h5>
<p>
<span style="color: red;font-size: 16px;">¥49.9</span>
<span style="text-decoration:line-through ;font-size: 10px;">¥1600</span>
<span style="border: 3px gainsboro dashed;margin-left: 55px;font-size: 16px;">即将开抢</span>
</p>
</div>
</div>
<div class="product">
<a><img src="img/pic1.png"/></a>
<div class="price" >
<h3>javascript课程</h3>
<h5>妙学堂</h5>
<p>
<span style="color: red;font-size: 16px;">¥49.9</span>
<span style="text-decoration:line-through ;font-size: 10px;">¥1600</span>
<span style="border: 3px gainsboro dashed;margin-left: 55px;font-size: 16px;">即将开抢</span>
</p>
</div>
</div>
<div class="product">
<a><img src="img/pic1.png"/></a>
<div class="price" >
<h3>javascript课程</h3>
<h5>妙学堂</h5>
<p>
<span style="color: red;font-size: 16px;">¥49.9</span>
<span style="text-decoration:line-through ;font-size: 10px;">¥1600</span>
<span style="border: 3px gainsboro dashed;margin-left: 55px;font-size: 16px;">即将开抢</span>
</p>
</div>
</div>
</div>
</div>
CSS部分
.tab{
width: 100%;
height: 300px;
text-align: center;
margin: 10px auto;
background-color: ghostwhite;
}
.tab_list ul{
display: flex;
height: 50px;
margin: 0 auto;
padding: 0;
}
.tab li{
list-style: none;
height: 50px;
line-height: 50px;
flex:auto;
}
.tab_list .active{
background-color: red;
color: #ffffff;
}
.tab_con{
margin: 10px auto;
width: 100%;
height: 200px;
}
.item{
display: none;
}
.box{
display: flex;
}
.product{
flex: auto;
}
.product img{
width: 220px;
height: 120px;
}
.price{
position: relative;
width: 220px;
height: 80px;
}
.price p{
margin: 0px;
left: 0px;
position: absolute;
}
JS部分
<script>
var tab_list=document.querySelector('.tab_list');
var lis=tab_list.querySelectorAll('li');
var items=document.querySelectorAll('.item');
for(var i=0;i<lis.length;i++){
lis[i].setAttribute('index',i);
lis[i].onmouseover=function(){
for(var i=0;i<lis.length;i++){
lis[i].className='';
}
this.className='active';
var index=this.getAttribute('index');
console.log(index);
for(var i=0;i<items.length;i++){
items[i].style.display='none';
}
items[index].style.display='block';
}
}
</script>
最终我的效果如下
不是很相像,但还算过得去。。。。。。
到此这篇关于js tab栏切换代码实例解析就介绍到这了。在心甘情愿的浪费的过程里,青春渐渐逝去,直到消失,而我们却继续着在青春上所遗留的习惯却不自知。不知道我们在重复着浪费的举动,也不知道自己其实要给青春交出答卷,更不知道要用何种方式去祭奠青春。更多相关js tab栏切换代码实例解析内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!