DOJO-隐藏DropDownMenu的菜单项
DOJO - Hide Menu items for DropDownMenu
第一次加载时菜单项变得零散。正在寻找一种隐藏组件的方法,直到它完全加载并适合页面。
<script>
require([ "dijit/DropDownMenu", "dijit/MenuSeparator",
"dijit/PopupMenuItem", "dijit/MenuItem",
"dijit/TooltipDialog" ]);
</script>
<div data-dojo-type="dijit.DropDownMenu" id="navMenu" >
<div data-dojo-type="dijit.MenuItem" class="item dijitMenuItemSelected">Home</div>
<div data-dojo-type="dijit.PopupMenuItem" class="item">
<span>Services</span>
<div data-dojo-type="dijit.DropDownMenu" id="submenu2">
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){}">Consulting</div>
</div>
</div>
<div data-dojo-type="dijit.MenuItem" class="item">Why us?</div>
<div data-dojo-type="dijit.MenuItem" class="item">FAQs</div>
<div data-dojo-type="dijit.MenuItem" class="item">Contact us</div>
根据您的<script>
,我对此进行了更改。并添加函数来更改样式,这将在加载时完成。
<script>
require(["dojo/dom", "dojo/dom-style", "dijit/DropDownMenu", "dijit/MenuSeparator", "dijit/PopupMenuItem", "dijit/MenuItem", "dijit/TooltipDialog", "dojo/domReady!"],
function (dom, domStyle) {
var controlDisplay = dom.byId("controlDisplay");
domStyle.set(controlDisplay, "display", "block");
});
</script>
在正文中,我添加了隐藏所有项目的<div>
。
<div id="controlDisplay" style="display:none;">
<div data-dojo-type="dijit.DropDownMenu" id="navMenu">
<div data-dojo-type="dijit.MenuItem" class="item dijitMenuItemSelected">Home</div>
<div data-dojo-type="dijit.PopupMenuItem" class="item">
<span>Services</span>
<div data-dojo-type="dijit.DropDownMenu" id="submenu2">
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){}">Consulting</div>
</div>
</div>
<div data-dojo-type="dijit.MenuItem" class="item">Why us?</div>
<div data-dojo-type="dijit.MenuItem" class="item">FAQs</div>
<div data-dojo-type="dijit.MenuItem" class="item">Contact us</div>
</div>
</div>
首先,在加载完成之前,它不会出现。JS将更改<div>
的样式以显示所有内容
请参阅JSFiddle
我添加了以下带有display:none样式的脚本后,它就工作了。
require(["dojo/ready", "dojo/parser", "dijit/registry", "dijit/Dialog"], function(ready, parser, registry){
ready(function(){
require(["dojo/_base/fx", "dojo/on", "dojo/dom", "dojo/domReady!"], function(fx, on, dom) {
fx.fadeOut({duration: 250, node: dom.byId("loader"), onEnd: function() { loader.style.display = "none"; } }).play(250);
});
}); });
相关文章:
- 显示菜单项
- 如何定义和渲染子菜单项,使用Aurelia's路由器
- 如何在没有2个项目的情况下更改菜单项href
- JQuery超级菜单全宽菜单项
- jQuery在部分上滚动时突出显示菜单项
- 突出显示菜单项及其子菜单项
- 突出显示菜单栏上的活动菜单项
- 可访问的更改菜单项,用于使用不引人注目的JS进行导航,而不是jQuery,
- 可访问性:为什么 Jquery 菜单明确将菜单项 tabindex 设置为 -1
- 当我选择菜单项时,如何播放html5播放器的视频
- 什么脚本隐藏父菜单项
- 如何在两种条件下显示相同的上下文菜单项
- 使用粘性滚动菜单链接打开手风琴式菜单项
- 使用CSS/JavaScript在活动页面上突出显示活动导航菜单项,无id
- 单击后要显示相关的菜单项
- 如何在浏览器中禁用或删除粘贴上下文菜单项
- 使用jquery突出显示下一个菜单项
- 在具有固定菜单的单页网站中定位当前菜单项
- 什么是“已弃用.相反,使用可组合性“的意思在Reactjs Material-UI菜单项中
- jQuery 函数 .prepend() 不适用于 WordPress 导航菜单项