用于简单菜单扩展的Javascript
Javascript for simple menu expanding
嗨,我是JavaScript新手,我想编写一个非常简单的扩展子菜单。
<div id="submenu">
<ul>
<li>
Something
</li>
<li>
Another
</li>
</ul>
<div id="submenu-1" class="submenu-options">
<ul>
<li>Something-sub</li>
<li>Something-sub</li>
<li>Something-sub</li>
</ul>
</div>
<div id="submenu-2" class="submenu-options">
<ul>
<li>Another-sub</li>
<li>Another-sub</li>
<li>Another-sub</li>
</ul>
</div>
</div>
更具体地说,如果我将鼠标悬停在某物上,我希望显示某物子菜单,如果鼠标离开,我希望它再次隐藏…我知道有很多人问过这个问题,有很多方法可以做到这一点,但谷歌提出了太多令人不满意的答案。我希望你能抽出10分钟来帮助我摆脱困境。
问候和感谢!
<div id="submenu">
<ul>
<li id="1">
Something
</li>
<li id="2">
Another
</li>
</ul>
<div id="submenu-1" class="submenu-options">
<ul>
<li>Something-sub</li>
<li>Something-sub</li>
<li>Something-sub</li>
</ul>
</div>
<div id="submenu-2" class="submenu-options">
<ul>
<li>Another-sub</li>
<li>Another-sub</li>
<li>Another-sub</li>
</ul>
</div>
</div>
如果你没有使用任何库,那么你需要这样绑定它:
var menuText;
window.onload = function()
{
menuText= document.getElementById("1");
menuText.onfocus = menuFocusHandler;
menuText.onblur = menuBlurHandler;
}
function menuFocusHandler()
{
document.getElementById("submenu-1").style.display="inline";
}
function menuBlurHandler()
{
document.getElementById("submenu-1").style.display="none";
}
或者你可以使用某些javascript库来轻松地完成此操作,这些库具有轻松完成此操作的api。其中一些库是Jquery(最流行的),Sencha等。
这些库中有一些扩展具有菜单实现等
我使用Dojo做过这样的事情,并取得了巨大的成功。
使用jQuery很容易做到这一点,以下面的下拉列表为例:
HTML:<ul>
<li>Nav Item 1</li>
<li class="dropdown">
Nav Item 2
<ul style="display:none">
<li>Sub Menu Item 1</li>
<li>Sub Menu Item 2</li>
<li>Sub Menu Item 3</li>
</ul>
</li>
<li>Nav Item 3</li>
</ul>
jQuery: $('.dropdown').hover(function() {
$('ul', $(this)).show();
}, function() {
$('ul', $(this)).hide();
});
你不需要java来做这个,简单的CSS就可以了:
li#submenu:hover div {
display: block;
}
相关文章:
- 如何使用Javascript扩展HTML元素
- '让块'仅在Mozilla JavaScript扩展中可用(使用moz选项)
- 关于 JavaScript 扩展的代码示例
- 如何在Sonarqube Javascript扩展中获取项目路径
- 如何使用Javascript扩展对象'的原型使用声明中的变量
- Javascript扩展对象's原型,但保留旧原型
- 如何创建一个小型Javascript扩展语言
- Javascript扩展了原型,并在中实现了
- 让 JSFIDDLE 使用 JavaScript 扩展脚本
- Javascript 扩展类与 props
- JavaScript 扩展 Array 以实现 map2
- 如何使 XSLT Javascript 扩展函数返回节点集
- 文件上传Javascript扩展管理
- 我可以用javascript扩展控制台对象(用于重新路由日志记录)吗
- 带有隐藏函数的JavaScript扩展类
- 用Javascript扩展类
- 如何用Javascript扩展formdata并将其发送到控制器
- 在响应式设计中禁用Javascript扩展器
- 单击图片缩略图并使用javascript扩展到中心
- TFS 2015通过JavaScript扩展获得全局列表