发表于: 2018-12-21 22:07:28

1 899



今天完成的事情:

1、今天开始尝试动手写了一些简单的代码,一点一点推吧,一直没有进展真的要崩了。


明天计划的事情:

1、明天计划多写demo,多练多熟吧。


遇到的问题:

1、最大的问题还是找不到突破口,一直原地踏步,今天心态彻底崩了,心态爆炸,闹心。


收获:

1、原生JS添加类名 删除类名

为 <div> 元素添加 class:

document.getElementById("myDIV").classList.add("mystyle");

 

为 <div> 元素添加多个类:

document.getElementById("myDIV").classList.add("mystyle", "anotherClass", "thirdClass");

 

为 <div> 元素移除一个类:

document.getElementById("myDIV").classList.remove("mystyle");

 

为 <div> 元素移除多个类:

document.getElementById("myDIV").classList.remove("mystyle", "anotherClass", "thirdClass");

 

检查是否含有某个CSS类

myDiv.classList.contains('myCssClass'); //return true or false


2、

用JS添加和删除class类名

下面介绍一下如何给一个节点添加和删除class名

添加:节点.classList.add("类名");

删除:节点.classList.remove("类名");

 

以tab切换为例:

在写tab切换的时候,通常我们会给选中的tab设置不同的样式,常用的方法是给被选中的tab新增一个class名,然后改这个class名的样式。

 

比如 起一个class名叫“active”

设置样式

.active{
    color: #FFD113 !important;
}

在html代码中给首页(默认选中)加上class名active

<a class="tab_item active">
    <span class="iconfont icon-shouye"></span>
    <span class="tab2">首页</span></a>

效果是这样的:

在点击切换的过程中,我们需要给被选中的子选项添加“active”,然后让其它子选项删除“active”名。

该怎么做呢?

首先,通过JS取到所有tab的节点

var arr = document.getElementsByClassName("tab_item");

然后只需在被选中的子节点加上.classList.add("类名"),比如:

arr[i].classList.add("active");

这样就给当前子选项卡添加了“active”类名。

然后我们把其他的选项卡的“active”移除,只需要在其他子节点的后面加上.classList.remove("类名"),比如:

arr[j].classList.remove("active");

这样就实现了我们想要的功能。

 

当然也可以通过其他方法,比如下面:(来源:https://segmentfault.com/q/1010000002955089?sort=created)






返回列表 返回列表
评论

    分享到