跳转到主内容
极星编程网:以代码为星,赴技术山海!

高分求解!新手问题,JS点击顶级菜单修改TD颜色遇到问题_html/css_WEB-ITnose

html div 以下当前效果代码:
目前实现了鼠标停留在图片菜单TD上,用函数F_changeColorOn改变另外一个TD的颜色值,鼠标离开F_changeColorOn将另外个TD(菜单图片上面的td)改回原来的颜色值,我现在想要实现鼠标的onclick事件调用另外个函数C,达到点击菜单后,鼠标离开或放在该菜单上,另外个TD的颜色值改变。而放在其他菜单上,和之前效果一样,一直想不通就是C函数如何实现?现在矛盾在点击菜单后离开,颜色没有了,因为离开了,执行了  F_changeColorOff。   请各位大侠指导下 ,就是很顶级菜单搞了1天,没有一点思路,是不是思路完全错了? 回复讨论(解决方案)
给你简化了一下:
你后面的要求 没明白呀~~。 首先  对于导航来说  ,还是利用 无序列表(ul)来实现比较好。 后面click要求真没明白。
1 2 3 4 5 6
简化到底吧
无标题页
1 2 3 4 5 6
后面的童鞋 继续 ~ 当你点击某个td是为她setAttribute一个自定义属性 之后修改一下你的onmouseover 和onmouseout事件   如果元素有这个自定义属性则鼠标离开后元素不再改变颜色  没有的话改变  试试 没有看明白你的需求,貌似问题复杂化了,鼠标移入移出的效果完全可以用CSS来完成,为啥要要弄个JS呢? 声明一个全局变量,保存最后一次点击的td的一个序号。 var clickIndex = 0; function F_getChangeIndex(_index){ clickIndex = _index; } function F_changeColorOff(var1){ if(var1==1  && clickIndex!=1){ var d=document.getElementById('portal-globalnav-color-off-1'); d.style.background="#3d3d47"; }else if(var1==2  && clickIndex!=2){ var d=document.getElementById('portal-globalnav-color-off-2'); d.style.background="#3d3d47"; }else if(var1==3  && clickIndex!=3){ var d=document.getElementById('portal-globalnav-color-off-3'); d.style.background="#3d3d47"; }else if(var1==4  && clickIndex!=4){ var d=document.getElementById('portal-globalnav-color-off-4'); d.style.background="#3d3d47"; }else if(var1==5  && clickIndex!=5){ var d=document.getElementById('portal-globalnav-color-off-5'); d.style.background="#3d3d47"; }else if(var1==6  && clickIndex!=6){ var d=document.getElementById('portal-globalnav-color-off-6'); d.style.background="#3d3d47"; } }

相关文章