问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么使用js实现导航点击变颜色,再点击下一个,上一个恢复原来的颜色?

发布网友 发布时间:2022-04-23 13:32

我来回答

2个回答

热心网友 时间:2022-04-23 05:32

哥们,你这代码存在诸多问题。帮你修改了一下。如下,你先拿去用。我最后再点评,有什么问题存在。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="GBK">
<style>
.dh{
width: 100px;
height: 30px;
background: brown;
list-style-type: none;
float: left;
line-height: 30px;
text-align: center;
cursor: pointer;
}
.dh:hover{
cursor: pointer;
color: white;
background: burlywood;
}
</style>
<script type="text/javascript">
window.onload = function() {
var dh = document.getElementById('nv_bar');
var menulist=document.getElementsByClassName("dh");
//console.info( menulist );
//使用委托机制。绑定父元素。不要绑定子元素。根据冒泡原理,点击子元素,默认会触发父元素点击事件。
dh.onclick = function(e) {
if(e.target.className=="dh"){
//1 先记录颜色
var color;
if(e.target.style.background = 'brown') {
color = 'burlywood';
}else {
color = 'brown';
}
//2 统一还原
for(var i=0;i<menulist.length;i++)menulist[i].style.background="brown";
//3 单独设置点击的那个
e.target.style.background=color;
}
}
}
</script>
</head>
<body>
<ul id="nv_bar">
<li class="dh" >导航一</li>
<li class="dh">导航2</li>
<li class="dh" >导航3</li>
<li class="dh" >导航4</li>
<li class="dh" >导航5</li>
</ul>
</body>
</html>
问题:
1 id不能有多个。否则document.getElementById获取出来的只是第一个。
2 不要根据颜色判断。你自定义标识。比如 state=0或1 或者active=true|false
通过setAttribute(key,value);存到li身上。
3 对于这种多元素点击事件。不要把时间绑定在子元素身上。最好绑定在父元素身上。委托机制。
4 网页结构要重视。不要太随意,虽然浏览器也可以解析。
5 编码最好要指定。
多的不说了,可以自己看一下w3c文档。或者javascript高级编程。

热心网友 时间:2022-04-23 06:50

这很简单啊,在CSS中设置链接,再来设置它的:hover,visted,active属性就行了。追问这个不行的,试过好多遍了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 怎么用JS动态更改DIV层的背景色? js 点击后变换颜色 用js写 有六个按钮点击按钮会变色 然后其他按钮恢复原来的颜色 如何让javascript点击灯泡,多次换颜色,求详细代码解答 javascript列表隔行变色,加点击事件颜色改变 怎样用js设计 点击某个按钮,就可以改变文本框的颜色? js怎么实现点击循环切换颜色 如何用js脚本编写代码,每当点击一个链接时,链接的文字都会更改颜色 js中怎么点击按钮时变色,松开后恢复原来的颜色? JS 点击改变颜色 js 通过button按钮onclick事件改变背景颜色 如何切换性改变? js点击改变文字颜色,再点击又变回原样 js怎么通过鼠标单击事件让整个网页变颜色 javascript点击按钮改变背景色的问题 kindle开不了机是怎么回事 我的笔记本电脑花屏,如何解决? 笔记本屏幕进水了怎么办? 笔记本进水了,花屏是什么原因 笔记本进水花屏怎么办啊??? 笔记本电脑键盘进水~~开机是花屏!!!是什么原因? JS点击更换网页背景颜色。 js中怎么写单击选中一行变颜色 ...怎么一次创建两个事件,比如鼠标悬停改变背景颜色和字体颜色?_百度... js 点击点击按钮更换颜色问题 软考 软件评测师 做什么的? 大学生适合考软件评测师吗? 华为的hilink智联组网是不是mesh,或者说能达到mesh的效果? 华为的HiLink 智联是什么?有什么用? 华为的HiLink智联是什么?有什么用? 华为生态HiLink智能家居产品的爱来克特洗地机好用吗? hilink可以控制天猫精灵吗 华为HiLink版新日智能锂电车都有什么车型? Hilink如何接入米家? 家电没支持HiLink怎么办 华为HiLink新日智能电动车什么时候上市? 华为的 HiLink 模式,相比小米的智能家居的生态布局,哪种模式胜算更大? 社保卡扫描件怎么弄 社保扫描件怎么弄 办社保为什么户口本扫描件不行 北京社保缴纳记录扫描件是什么