我有一个MMenu对象,我创建了一个定制的CSS类,用于显示循环红色警报。只要警报HTML在启动li对象之前存在于MMenu元素中,一切都可以正常工作。但是,这是有问题的,因为我需要使用ajax实时检查警报,如果出现了新的警报,我需要在加载MMenu后更新它。
是否有一种方法可以在MMenu列表被删除后更改它的HTML/内容?我在文档中看到,您不能销毁MMenu实例,因此不幸的是,我不能用新的HTML销毁和重新创建它。
这是一个小提琴和我的示例CSS演示了我是如何做到这一点的。正如您在小提琴中看到的那样,代码应该加载相同的红色气泡,在“请愿书”链接旁边有数字"2“,比如"Messages”警报,但是简单地更改原始HTML并不允许您更改屏幕上显示的内容。
https://jsfiddle.net/2r9tsmyn/9/
JS
var API = $("#dashboard-menu").mmenu({
extensions: ["fullscreen", "pageshadow", "pagedim-black", "iconbar", "theme-dark", "border-full", "effect-menu-slide", "effect-listitems-slide"],
offCanvas: {
position: "left"
},
navbar: {
title: "Dashboard"
}
}).data("mmenu");
$(".dashboard-link").click(function(e) {
e.preventDefault();
API.open();
});
$("#dashboard-menu .mm-title").addClass('ani').css('cursor', 'pointer').click(function() {
API.close();
});
$('li.mm-peition a').append('<div class="mm-alert">2</div>');CSS
.dashboard-menu ul li a {
position: relative !important;
display: block !important;
}
.mm-alert {
display: inline-block !important;
float: right !important;
position: absolute;
top: 10px;
right: 20px;
width: 24px;发布于 2016-12-27 11:34:08
所以,我看了一下你的小提琴,虽然你的jQuery选择器中有拼写错误,但是你
$('li.mm-peition a').append('<div class="mm-alert">2</div>');
请注意请愿书的错误拼写。当我拨弄你的小提琴时,它开始起作用了。
尽管如此,如果您希望对菜单进行动态更改,请查看动态内容的文档:http://mmenu.frebsite.nl/tutorials/dynamic-content.html
虽然菜单上没有破坏方法,但您可以使用jQuery进行更改,然后调用:
API.initPanels( $("#my-list") );,如果您愿意,它可以作为您的基本列表面板。
我遇到的一个问题是,当您添加一个面板时,您需要在要添加的列表项中找到面板,并将其附加到其中,就像文档中所说的那样。
#my-list was an UL, now is a panel $("#my-list").find( ".mm-listview" ).append( li );
在这之后打电话给initalise应该会很好。
https://stackoverflow.com/questions/35609835
复制相似问题