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

求一个javascript功能,实现点击过的菜单变色。

发布网友 发布时间:2022-04-21 16:10

我来回答

2个回答

热心网友 时间:2022-04-21 17:39

建议用jquery库实现.
具体是4个菜单的母容器设ID=mother,4个菜单分别在一个li里如下
<ul id="mother">
<li onclick="changeClass(this)";></li>
</ul>
function changeClass(a)
{
$("#mother").children("li").removeClass("被点击的菜单的CSS类");
$(a).addClass("被点击的菜单的CSS类");
}

如果不用jquery会比较麻烦但是也可以写
function changeClass(a)
{
document.getElementById("mother").getElementsByTagName("li").className="未被点击的CSS类";
a.className="被点击菜单的CSS类";
}
我也忘了是不是className了,你跟踪一下看看有问题也是大小写的问题.但jquery的方法应该是没错的.

像你图片里的菜单html应该差不多这么写
<div id="mother">
<div class="menu">
<span>硬件产品<span>
<ul>
<li onclick="changeClass(this)";>终端产品</li>
<li onclick="changeClass(this)";>软件产品</li>
</ul>
</div>
</div>
css这方面的问题在写就多了,你估计看着也烦。具体就是也写background,text-alain 和float的问题。应该不难写。
ps:你这不叫单击过的菜单变色.二是当前选中的菜单变色.谢谢追问我点了菜单后是链接到另一个新的页面去了。菜单这部分被include过去了,有没像COOKIE一样能记忆得住,哪个菜单背景色该变的。而不是点的瞬间变色了,到了新打开的页面,又没变。

追答不知道你后台使用什么代码写的。
一般情况下都是后台直接设置前台高亮菜单的。
onready事件里这样写
function onreadyfunc()
{
var lis=document.getElementById("mother").getElementsByTagName("li");
for(var i=0;i<lis.length;i++)
{
var href = location.subStr(location.lastIndexOf("/"));
if(lis[i].getElementsByTagName["a"][0].href==href)
{
lis[i].className="高亮CSS"
}else
{
lis[i].className="非高亮CSS"
}
}
}
ps:百度这边没有代码编辑器,可能有JS代码的大小写错误,你自己编辑的时候注意点儿,.

热心网友 时间:2022-04-21 18:57

这个用伪类-> li :hover {background:#00F;}就可以啦,
不过好像IE6之兼容 a:hover
你可以<li><a href="#">软件产品</a></li> 设置样式:
li a {
width:200px;
height:100px; 长和宽要刚好和背景变色一般大
display:block; 这个是必须的,使a具有块级元素的性质
background:#FFF;
}
li a:hover { background:#00F;}
这样就可以有以上那种效果啦

js也可以实现
onMouseOver="this.style.backgroundColor='#00F' " onMouseOut="this.style.backgroundColor='#FFF‘ "

或者让ID自增,在js里写几个函数

一般表现都是用css实现比较好,就算用js也是通过控制css来改变样式的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 dnf巨龙地下城念气修炼场boss怎么打 DNF SSS宠物进化用的 巨龙之魂气息 的具体出产地在哪里 DNF巨龙地下城副本怎么打 DNF大转移之后巨龙地下城还存在吗? 是否还可以兑换巨龙武器? dnf巨龙地下城在哪进 石榴花有什么寓意呢 石榴花花朵是? 请问自学考试想要拿学位,是平均分要达到70,但是不一定每门都达到70 我的自考平均成绩是69.8 不够70 是否可以四舍五入为70 自考免考课程以后,平均分怎么算呢 连续几天的胸口左边痛是什么原因? 英语四级过了,自考时怎么计算平均分 胸部左侧下部疼痛,怎么回事? 自考申请学士学位,专业学位课程成绩算的是平均成绩吗? 浙江大学自考学位申请标准中的平均分70分是英语pets3的成绩也算进去的吗?求大神回复。 由于玩手机经常往左边睡,*下面一往左边睡就痛,为什么?是里面 请问上师大自学考学士学位要求的平均分70是怎么算的?英语的口试,笔试各算一门课吗?还是先加权算出英语再算 左胸口偏下位置疼痛有时刺痛,睡觉睡左侧也 自考平均分和学士学位是怎么回事 晚上睡的时候左胸口怎么会痛? 金佑人生被保人130天后死亡能得到赔偿吗 三十岁的男人投保金佑人生五十岁死亡获得多少赔偿 太平洋金佑人生终身寿险 分红型查出脑梗死给陪多少钱? 购买太平洋金佑人生保险未满180天因病死亡可以赔付多少交的保费大概是4100左右28岁 电脑怎么登录两个 电脑怎么登陆双 电脑怎么登录多个 电脑怎么登录多个 如何在电脑上登录多个 html css点击变色的问题 键盘按完大写再按别的键就失灵 为什么我一按大小写切换键键盘就不能用了 为什么我的键盘一按大小写切换 所有键都不好使了!! 为什么我的电脑按了大写键后打字打不出,整个键盘都没反映了? 高送转股票哪个好 2016年中报最具潜力的高送转股一览 2016年中报高送转股票一览 哪些中报高送转个股可关注 哪些股票有可能在2016年年终高送转 武汉大学软件工程考研计算机综合包括什么?还有怎么弄到历年的真题? 计算机基础综合 813 包括哪些 华为平板开不了机?