『壹』 js实现鼠标滑过显示二级菜单
鼠标滑过哪显示啥?
滑过 产品介绍 显示下面的子菜单?
onmouseover是鼠标移动到某元素执行的鼠标事件。
onmousemove是鼠标在某元素上移动执行的事件。
你先把这两个分清楚了,根据你的需求是
先获取你要鼠标滑过的元素 也就是产品介绍这个a元素,你给其设置一个id假如设置其为proct
那么先获取他
var proct=document.getElementById('proct');
再获取你要显示的子菜单元素proctInfo
var proctInfo=document.getElementById('proctInfo');
proctInfo.style.display='none';//设置其隐藏,如果CSS里已经隐藏,此步可以省略。
然后设置其鼠标事件,应该选择onmouseover
proct.onmouseover=function(){
proctInfo.style.display='block'; //鼠标移动到proct元素上让其子菜单显示。
}
proct.onmouseout=function(){
proctInfo.style.display='block'; //鼠标移出proct元素上让其子菜单隐藏。
}
如果你要让每个子菜单都读取他的子菜单可以循环遍历实现。思路相同。
『贰』 用javascript写一个单击菜单展开子菜单,单击其他菜单关闭已展开的子菜单,展开当前菜单的子菜单;
<style>
.menu{bgcolor:#000;width:100px;height:100px;border:1px solid #000}
</style>
<div>
<h2 onclick=menu(1)>1</h2><div class="menu" id="menu_1" style="none"></div>
<h2 onclick=menu(2)>2</h2><div class="menu" id="menu_2" style="none"></div>
<h2 onclick=menu(3)>3</h2><div class="menu" id="menu_3" style="none"></div>
<h2 onclick=menu(4)>4</h2><div class="menu" id="menu_4" style="none"></div>
</div>
<script>
function menu(i)
switch(i){
case 1:
document.getElementById("menu_1").style="block";
document.getElementById("menu_2").style="none";
document.getElementById("menu_3").style="none";
document.getElementById("menu_4").style="none";
break;
case 2:
document.getElementById("menu_1").style="none";
document.getElementById("menu_2").style="block";
document.getElementById("menu_3").style="none";
document.getElementById("menu_4").style="none";
break;
case 3:
document.getElementById("menu_1").style="none";
document.getElementById("menu_2").style="none";
document.getElementById("menu_3").style="block";
document.getElementById("menu_4").style="none";
break;
case 4:
document.getElementById("menu_1").style="none";
document.getElementById("menu_2").style="none";
document.getElementById("menu_3").style="none";
document.getElementById("menu_4").style="block";
}
</script>
估计不怎么好看,要好看就是css的问题了
『叁』 JS单击显示/隐藏子菜单代码
你定义的a是全局变量,不管你点击的菜单是菜单一,还是菜单二都执行,不要这样写,直接加判断,点击菜单一时如果display是block就隐藏,否则显示
注:火狐和ie获取display的方法不同,用前先判断,要不不兼容
var
currentstyle
=
function(e){
return
e.currentstyle
||
document.defaultview.getcomputedstyle(e,
null);
}
if(currentstyle(document.getelementbyid(id))['display']=='none'){
document.getelementbyid(divname).style.display
=
"block";
}else{
document.getelementbyid(divname).style.display
=
"none";
}
『肆』 js怎么样使左边显示菜单右边显示内容左边显示菜单栏 右边显示内容 菜单栏要可以有子菜单
这是在你那个flash中设置...不是跑到网页上来设置
在网页上来设置也可以,但要用复杂的JS来判断鼠标坐标,以及考虑宽窄屏和兼容性等等....不推荐
『伍』 js怎么获取当前子菜单的top值和left 值
首先要取得top值和left值,先要把这个div的定位设为
relative
或者
absolute
比如:
<div
id="tiao"
style="margin-top:
3;margin-left:
-5;width:
470;height:
25;position:relative"
></div>
top值:
document.getelementbyid('tiao').offsettop+document.body.scrolltop
left值:document.getelementbyid('tiao').offsetleft;
『陆』 在js中怎么做到一列菜单,当鼠标移上去的时候会显示子菜单,离开时隐藏子菜单
鼠标移动上去用【onmouseover】,此时子菜单使用【display=“block”】属性显示;鼠标离开用【onmouseout】,此时子菜单使用【display=“none”】隐藏;