以下当前效果代码:
目前实现了鼠标停留在图片菜单TD上,用函数F_changeColorOn改变另外一个TD的颜色值,鼠标离开F_changeColorOn将另外个TD(菜单图片上面的td)改回原来的颜色值,我现在想要实现鼠标的onclick事件调用另外个函数C,达到点击菜单后,鼠标离开或放在该菜单上,另外个TD的颜色值改变。而放在其他菜单上,和之前效果一样,一直想不通就是C函数如何实现?现在矛盾在点击菜单后离开,颜色没有了,因为离开了,执行了 F_changeColorOff。 请各位大侠指导下 ,就是很顶级菜单搞了1天,没有一点思路,是不是思路完全错了?
回复讨论(解决方案)
给你简化了一下:
你后面的要求 没明白呀~~。
首先 对于导航来说 ,还是利用 无序列表(ul)来实现比较好。
后面click要求真没明白。
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";
}
}
