【发布时间】:2015-01-13 15:55:49
【问题描述】:
我正在使用 jQuery 的 mmenu 插件在画布菜单中创建幻灯片。我的问题是我有一个不理想的标记并且没有页面包装器。结果是滑出页面被放置在错误的元素上,一切都变白了,我现在正在尝试更改它。
<body>
<nav id="menu" class="mm-menu mm-horizontal mm-offcanvas mm-right mm-front">
<ul class="mm-list mm-panel mm-opened mm-current" id="mm-0">
<li><a href="/">Home</a></li>
<li><a class="mm-subopen" href="#mm-1"></a><a href="/about">About us</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
<!-- some more markup generated by the plugin -->
</nav>
<div class="mm-page mm-slideout" style="min-height: 949px;">
<div id="DeltaPlaceHolderCustomizeSiteActionsAndQuickLaunch"></div>
<div id="imgPrefetch" style="display:none">
<img src="/_layouts/15/images/favicon.ico?rev=23">
<img src="/_layouts/15/images/spcommon.png">
<img src="/_themes/691/spcommon-B35BB0A9.themedpng?ctag=693">
</div>
</div>
// more markup
</body>
这是生成的标记,它根本不起作用,因为页面的内容不在获得 mm-slideout 类的 div 中。
我尝试将pageNodeType(如那里所述)设置为将页面包装在较低级别(从body 标记向下几级)的表单元素,如下所示:
$(document).ready(function () {
var page = $('#aspnetForm');
$("#menu").mmenu(
{
offCanvas: {
position: "right",
zposition: "front"
}
}, {
offCanvas: {
pageNodeType: "form"
}
})
});
还尝试了setting a specific element as the page,(如那里所述),如下所示:
$("#menu").mmenu().trigger("setPage.mm", [page]);
但是什么也没发生。我知道它正在被读取,因为我可以将菜单的位置向右更改。
当我只做pageNoteType。所发生的一切是具有类 mm-slideout 的元素在其中获得了具有相同类的另一个元素。但没有什么能改变滑动的内容。
我知道我的配置说页面不应该滑动,但菜单应该在它上面滑动,但据我所知,我仍然需要更改获取 mm-page 和 mm-slide 类的内容.目前,当我打开菜单时,页面上的所有内容都会变白。
【问题讨论】: