js实现简易关注按钮点击事件

本文记录了一个简单的Web交互效果实现过程——关注按钮的状态切换。通过HTML、CSS及JavaScript的配合,实现了从“关注”到“已关注”的状态转换,并分享了作者在实现过程中遇到的问题及解决方案。


学了web有一个月了

总想记点什么,但是一直没有行动,今天做了这个效果就记录一下吧


顺便总结下遇到的问题,也是为了以后可以更好的回顾。

下面上代码截图

html:

<button class="follow" onclick="show1()">
<span class="true">关注</span>
<span class="false">已关注</span>
</button>

这边就是很简单的 一个按钮,定义了两个span

css代码:

/*关注按钮*/
.follow{
display: block;
width: 25%;
height: 30px;
margin: 0 auto;
margin-top: 8px;
background: rgba(233, 7, 7, 0);
border: 1px solid red;
border-radius: 5px;
color: red;
outline: none;
}
.follow:hover{
background: rgba(233, 7, 7, 0.2);
}
.true{
display: inline;
}
.false{
display: none;
}

初始为关注 点击一下变为已关注 再点击就变为关注,这样重复下去。

js代码:

function show1(){
var aTrue = document.getElementsByClassName(true);
var aFalse = document.getElementsByClassName(false);
var x=1;
if ( aTrue[0].style.display!="none"){
aTrue[0].style.display="none";
aFalse[0].style.display="inline";
}else{
aTrue[0].style.display="inline";
aFalse[0].style.display="none";
}
}

前面写的都没有问题,但是在点击事件的时候遇到了一个小问题。

if判断总是进不去,后来发现是因为我的 判断条件中的aTrue后面没有加数组 [0] 

就是aTru[0] 这里出现的问题,其实我还不是很懂这个原理,应该是同样的class可以定义多个,所以需要数组进行区分吧。


所以我想试试id来进行定义,看看是否有这种情况出现。

html和css一样,只不过把class的名字改为id

js代码:

function show1(){
var aTrue = document.getElementById(true);
var aFalse = document.getElementById(false);
if ( aTrue.style.display!="none"){
aTrue.style.display="none";
aFalse.style.display="inline";
}else{
aTrue.style.display="inline";
aFalse.style.display="none";
}
};


发现就没有数组问题了,但我还是用了第一个方法。

本人是小白,如果各位大神有什么好的方法也欢迎与我讨论,有意见和不对的地方也可以提出,在这里万分感谢!

想看完整demo代码,以后会上传github项目地址。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值