如何编辑jQuery.mmenu.js以允许类(而不仅仅是ID)成为目标?
我在一个移动网站上工作,我想显示div下面隐藏的子菜单,比如Twitter的移动网站滑动tweet以显示其他选项。我非常喜欢jQuery.mmenu.js插件中的接口,但它仅限于目标ID,我需要目标类 我相信这是弗雷德设定的,这意味着理论上它可以改变 可在此处下载所有代码:如何编辑jQuery.mmenu.js以允许类(而不仅仅是ID)成为目标?,jquery,mmenu,Jquery,Mmenu,我在一个移动网站上工作,我想显示div下面隐藏的子菜单,比如Twitter的移动网站滑动tweet以显示其他选项。我非常喜欢jQuery.mmenu.js插件中的接口,但它仅限于目标ID,我需要目标类 我相信这是弗雷德设定的,这意味着理论上它可以改变 可在此处下载所有代码: 注:根据Fred的联系要求,这篇文章主要面向他,但如果有人能想到一个解决方案,我很乐意尝试。你可以把它包装起来: $('.classSelector').each(function(){ $('#'+this.id).
注:根据Fred的联系要求,这篇文章主要面向他,但如果有人能想到一个解决方案,我很乐意尝试。你可以把它包装起来:
$('.classSelector').each(function(){
$('#'+this.id).mmenu();
});
…ofc,具有该类的每个对象都需要一个id
如果不想在html中为他们提供ID,请执行以下操作:
var menuCtr = 0;
$('.classSelector').each(function(){
if(this.id == ''){
this.id = 'my_mmenu_'+ menuCtr++;
}
$('#'+this.id).mmenu();
});
这也应该起作用:
$('.classSelector').mmenu();
唯一真正的问题是插件将拖动事件绑定到页面。因此,通过在页面上拖动打开菜单,每个方向仅限于左、右、上、下各一个菜单
我想更改插件会相对容易,这样它就可以通过配置将拖动事件绑定到指定的元素,并返回到页面。在官方插件中实现此功能之前,请尝试以下操作:
for ( var a = 0; a < 10; a++ )
{
$(".menu" + a).mmenu({
dragOpen :{
open: true,
pageNode: $(".tweet" + a)
}
});
}
转到第530行并更改:
$page.hammer()
进入
我认为应该这样做。非常酷的插件,但是谁是Fred?他是插件的创建者。我在网站的某个地方看到了他的名字。将来,你可能不想在这里直接向特定的人提问。例如,在Stack Overflow上有大约2400人的名字是Fred。看起来你选对了,完全明白。在他的插件页面上,他要求技术支持的所有电子邮件都有一个堆栈溢出链接,因此如果他收到重复的问题,他可以将询问者转介到该链接。我只是按照他的要求做的,我已经做得很好了。当我添加for循环时,菜单总是打开的,但是当我删除循环时,整个页面都会被拖拽。我希望为每个div添加子菜单。作为参考,在1:38这段视频正是我想要的:像在1:38的视频中这样的行为不支持只移出部分页面,因为:a插件总是移出整个页面b菜单总是100%高。也许这是一个可以在将来添加的功能?:D
$page.hammer()
$dragNode.hammer()