您的位置:首页 > Web前端 > JavaScript

js实现简单的隐藏导航菜单动态显示

2017-10-16 15:32 471 查看
*效果如图当鼠标放在全部分类这里时,自动弹出导航表单。当鼠标离开时,显示的是相关的网页内容*说明:代码只给出js的部分,相关css和html布局只是简单的呃button和对应的div而已原理就是利用dom获取button控件和div控件,div的display设置为none;当button的onmouseover事件触发时改变div的display状态从而实现动态切换显示。但这里有个问题,就是当鼠标放在button弹出div时,鼠标离开button移动到div上,这时候div也不应该隐藏,只有当鼠标同时离开这两个控件的时候div才隐藏。具体看代码//控件加载监控部分。
//变量区
var oTypeButton=document.getElementById("allbook_type_button");
var oBookTypeDiv=document.getElementById("all_type_book");
var oBookTypeLeftDiv=document.getElementById("leftbox");
var oBookTypeLeftLi=oBookTypeLeftDiv.getElementsByTagName("li");
var oBookTypeRightDiv=oBookTypeDiv.getElementsByTagName("div");
var oBookTypeRightUl=oBookTypeRightDiv[1].getElementsByTagName("ul");
//函数区
function booktypeul_none(){
for(var j=0;j<oBookTypeRightUl.length;j++)
{
oBookTypeRightUl[j].style.border="";

}
}
function booktypeul_show(obj1,i){
obj1.onmouseover=function(){
booktypeul_none();
if(obj1!=oBookTypeLeftLi[0])
oBookTypeRightUl[i].style.border="1px solid #EBE4E4";
}
}
//控件加载监听window.onload=function(){//------------booktype_buttonoTypeButton.onmouseover=function(){booktypeul_none();oBookTypeDiv.style.display="block";oBookTypeRightDiv[1].style.display="block";}oBookTypeDiv.onmouseover=function(){oBookTypeDiv.style.display="block";}oTypeButton.onmouseout=function(){oBookTypeDiv.style.display="none";}oBookTypeDiv.onmouseout=function(){oBookTypeDiv.style.display="none";}oBookTypeLeftLi[0].onmouseout=function(){oBookTypeRightUl[0].style.border="none";}for(var i=1;i<oBookTypeLeftLi.length;i++){booktypeul_show(oBookTypeLeftLi[i],(i-1)%9);}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: