Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编辑jQuery.mmenu.js以允许类(而不仅仅是ID)成为目标?_Jquery_Mmenu - Fatal编程技术网

如何编辑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).

我在一个移动网站上工作,我想显示div下面隐藏的子菜单,比如Twitter的移动网站滑动tweet以显示其他选项。我非常喜欢jQuery.mmenu.js插件中的接口,但它仅限于目标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()