javascript - 设置botton 按钮的背景颜色不成功
PHPz
PHPz 2017-04-11 13:20:00
[JavaScript讨论组]

在选项卡练习中设置botton的背景颜色不成功,查了很久也没看出究竟出来,请求各位大神帮忙看看到底是哪里漏了步骤,还是某些设置有冲突。。。





Document




1111

2222

3333

4444


PHPz
PHPz

学习是最好的投资!

全部回复(5)
迷茫

#p1.active => #p1 .active

看看 https://jsfiddle.net/chexian/...

大家讲道理

第一个for循环里的

aBtn.onclick = function(){...};

替换成

aBtn.onclick = (function(i){ ... })(i)

for循环里面不是块级作用域,i的值早已变化。
具体解释参看一下 js闭包和作用域。

ringa_lee

css方面的问题

p1.active{
    background: yellow;
}

p1.active是给#p加class="active"的,不是给#p1的子集加.active.

js的问题,以下是部分代码

for (var i = 0; i < aBtn.length; i++){
    aBtn[i].className='';
}
    this.className='active';

你不觉得你上面aBtn[i].className='';和this.className='active';有点冲突吗?
this就是当前的btn啊

天蓬老师

你都没有定义class为active的样式

#p1.active{
    background: yellow;
}

这句的意思是class为active,id为p1的元素,并不是 #p1下的class为active的元素啊
应该是这样的 #p1 .active{}

阿神

楼主,把下面的这部分替换你现有对应的之后,看看是不是达到你想要的结果了
aBtn[i].onclick=function(){

for(var j = 0; j < aBtn.length; j++){
    aBtn[j].className='';
}
aBtn[i].className='active';

};

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号