项目中的菜单问题,今天和同事研究了一下午没解决,请大家帮忙给看看,谢谢!

morris_lz morris_lz 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下:

<html>
<head>
<style>
BODY
{
}
.menuBar
{
POSITION: relative;
BACKGROUND-COLOR: transparent;
TEXT-ALIGN: center;
}
.Bar
{
BORDER-RIGHT: blue 0px outset;
BORDER-TOP: blue 0px outset;
FLOAT: left;
BORDER-LEFT: blue 0px outset;
CURSOR: hand;
TEXT-INDENT: 12px;
BORDER-BOTTOM: blue 0px outset;
POSITION: relative;
BACKGROUND-COLOR: #ffffff;
TEXT-ALIGN: left;
font-size:12px;
}
.menu
{
BORDER-RIGHT: buttonhighlight thin outset;
BORDER-TOP: buttonhighlight thin outset;
VISIBILITY: hidden;
BORDER-LEFT: buttonhighlight thin outset;
WIDTH:100px;
LINE-HEIGHT: 140%;
BORDER-BOTTOM: buttonhighlight thin outset;
POSITION: absolute;
BACKGROUND-COLOR: #ffffff;
font-size:12px;
}
.menuItem
{
PADDING-RIGHT: 15px;
PADDING-LEFT: 10px;
WIDTH: 100%;
CURSOR: hand;
LINE-HEIGHT: 20px;
BORDER-BOTTOM: white 1px solid;
}
.ItemMouseOver
{
PADDING-RIGHT: 15px;
PADDING-LEFT: 10px;
WIDTH: 100%;
CURSOR: hand;
COLOR: highlighttext;
LINE-HEIGHT: 20px;
BORDER-BOTTOM: white 1px solid;
BACKGROUND-COLOR: highlight;
font-size:12px;
}
.ItemMouseOut
{
WIDTH: 100%;
}
.Arrow
{
FLOAT: right;
FONT-FAMILY: Webdings;
POSITION: absolute;
TEXT-ALIGN: left
}
.barOver
{
BORDER-RIGHT: blue 0px ridge;
BORDER-TOP: blue 0px ridge;
FLOAT: left;
BORDER-LEFT: blue 0px ridge;
CURSOR: hand;
BORDER-BOTTOM: blue 0px ridge;
POSITION: relative;
BACKGROUND-COLOR: #ffffff;
TEXT-ALIGN: center;
font-size:12px;
margin-left:12px;
}
</style>
<script>
function InitMenu()
{
var bar = menuBar.children

for(var i=0;i < bar.length;i++)
{
var menu=eval(bar[i].menu)
menu.style.visibility = "hidden"
bar[i].onmouseover = new Function("ShowMenu("+bar[i].id+")")
var Items = menu.children
for(var j=0; j<Items.length; j++)
{
var menuItem = eval(Items[j].id)

if(menuItem.menu != null)
{
menuItem.innerHTML += "<Span Id="+menuItem.id+"_Arrow class='Arrow'>4</Span>"
//var tmp = eval(menuItem.id+"_Arrow")
// tmp.style.pixelLeft = menu.getBoundingClientRect().Right //- tmp.offsetWidth - 15
FindSubMenu(menuItem.menu)}

if(menuItem.cmd != null)
{
menuItem.onclick = new Function("Do("+menuItem.id+")") }

menuItem.onmouseover = new Function("highlight("+Items[j].id+")")

}

}
}
function FindSubMenu(subMenu)
{
var menu=eval(subMenu)
var Items = menu.children
for(var j=0; j<Items.length; j++)
{
menu.style.visibility = "hidden"
var menuItem = eval(Items[j].id)


if(menuItem.menu!= null)
{
menuItem.innerHTML += "<Span Id="+menuItem.id+"_Arrow class='Arrow'>4</Span>"
// var tmp = eval(menuItem.id+"_Arrow")
//tmp.style.pixelLeft = 35 //menuItem.getBoundingClientRect().right - tmp.offsetWidth - 15
FindSubMenu(menuItem.menu)
}

if(menuItem.cmd != null)
{
menuItem.onclick = new Function("Do("+menuItem.id+")") }

menuItem.onmouseover = new Function("highlight("+Items[j].id+")")

}
}
function ShowMenu(obj)
{
HideMenu(menuBar)
var menu = eval(obj.menu)
var bar = eval(obj.id)
bar.className="barOver"
menu.style.visibility = "visible"
menu.style.pixelTop = obj.getBoundingClientRect().top + obj.offsetHeight + Bdy.scrollTop
menu.style.pixelLeft = obj.getBoundingClientRect().left + Bdy.scrollLeft
}

function highlight(obj)
{
var PElement = eval(obj.parentElement.id)
if(PElement.hasChildNodes() == true)
{ var Elements = PElement.children
for(var i=0;i<Elements.length;i++)
{
TE = eval(Elements[i].id)
TE.className = "menuItem"
}
}
obj.className="ItemMouseOver"
window.defaultStatus = obj.title
ShowSubMenu(obj)
}

function Do(obj)
{
var cmd = eval(obj).cmd
window.navigate(cmd)

}

function HideMenu(obj)
{
if(obj.hasChildNodes()==true)
{
var child = obj.children

for(var j =0;j<child.length;j++)
{
if (child[j].className=="barOver")
{var bar = eval(child[j].id)
bar.className="Bar"}

if(child[j].menu != null)
{
var childMenu = eval(child[j].menu)
if(childMenu.hasChildNodes()==true)
HideMenu(childMenu)

childMenu.style.visibility = "hidden"
}
}

}
}
function ShowSubMenu(obj)
{
PMenu = eval(obj.parentElement.id)
HideMenu(PMenu)
if(obj.menu != null)
{
var menu = eval(obj.menu)
menu.style.visibility = "visible"
menu.style.pixelTop = obj.getBoundingClientRect().top + Bdy.scrollTop
menu.style.pixelLeft = obj.getBoundingClientRect().right + Bdy.scrollLeft
if(menu.getBoundingClientRect().right > window.screen.availWidth )
menu.style.pixelLeft = obj.getBoundingClientRect().left - menu.offsetWidth
}
}
</script>

</head>

...全文

相关推荐

基于vue 动态菜单 刷新空白问题的解决

});```总的来说,解决Vue动态菜单刷新空白问题的关键在于正确使用路由守卫和动态添加路由的机制,同时要注意处理好组件对象的序列化和反序列化,以及适当地利用缓存和浏览器的前进/后退功能。

weixin_38647925

Win10开始菜单右键点击没反应解决办法.docx

Win10开始菜单右键点击没反应解决办法Win10开始菜单右键点击没反应是许多用户遇到的问题之一,该问题的出现可能是由于注册表中的项目缺失所致。解决该问题可以通过在注册表中补充缺少的项目来实现。

Lidx0710

绿盾导致win10开始菜单没反应、打不开_补丁.exe

标题中的“绿盾导致win10开始菜单没反应、打不开_补丁.exe”提示我们,这可能是一个针对绿盾安全软件与Windows 10操作系统之间兼容性问题的修复工具,特别是针对1903版本的Windows 10

kingfug

解决加载microsoft visual studio菜单时出现问题,若要修复此问题,请在命令提示符输入devenv.exe /

### 解决加载Microsoft Visual Studio菜单时出现问题#### 问题描述在初次安装Microsoft Visual Studio后,部分用户可能会遇到无法正常加载菜单的问题。

荧光小背心

解决Jupyter Notebook开始菜单栏Anaconda下消失的问题

### 解决Jupyter Notebook开始菜单栏Anaconda下消失的问题#### 背景与问题描述Jupyter Notebook 是一种广泛使用的交互式计算环境,适用于数据分析、机器学习等场景

weixin_38655284
评论 19
收藏 已收藏
分享
返回顶部
morris_lz
JavaScript 87,984 成员 224,681 内容