jQuery MiniUI

标题: 导航框架一切换菜单栏 [打印本页]

作者: darren丶csl    时间: 2018-9-14 11:01:30     标题: 导航框架一切换菜单栏

用导航框架一做切换菜单栏功能时遇见一个问题,用你们自带的Menu方法做切换菜单栏的时候,传入相同的参数时,第一次可以获取到item,但是后面的item全部都是undefined,请问有什么事原理吗?[attach]11338[/attach][attach]11339[/attach]



作者: dforce    时间: 2018-9-14 11:35:25

请提供例子来重现问题,包括数据
作者: darren丶csl    时间: 2018-9-14 11:44:55

本帖最后由 darren丶csl 于 2018-9-14 14:06 编辑
dforce 发表于 2018-9-14 11:35
请提供例子来重现问题,包括数据

这里有没有切换框架有示例或者文档,我就是在调用这个
var menu = new Menu("#mainMenu", {
            itemclick: function (item) {
                if (!item.children) {
                    activeTab(item);
                }
            }
        });
的时候出的错,item丢失,具体的你可以看我的demo
[attach]11341[/attach]

作者: dforce    时间: 2018-9-14 14:35:28

darren丶csl 发表于 2018-9-14 11:44
这里有没有切换框架有示例或者文档,我就是在调用这个
var menu = new Menu("#mainMenu", {
            i ...

不建议每次重新生成menu,建议使用menu.loadData(data)来更新menu的数据
注意loadData方法需要优化一下
menu.js内
loadData: function (data) {
        this.options.data = data || [];
        this.refresh();
        this._idHash = [];
    },
加上标红的这行
作者: darren丶csl    时间: 2018-9-14 15:04:09

本帖最后由 darren丶csl 于 2018-9-14 16:05 编辑
dforce 发表于 2018-9-14 14:35
不建议每次重新生成menu,建议使用menu.loadData(data)来更新menu的数据
注意loadData方法需要优化一下
...

加上后菜单栏点击事件就挂了...版主可以给一个类似的切换示例嘛?
因为我尝试了几次菜单栏点击时在menu.js中获取的item都是undefined。
直接效果就是加载不出对应Tab页或者菜单栏展不开

作者: dforce    时间: 2018-9-14 16:55:13

darren丶csl 发表于 2018-9-14 15:04
加上后菜单栏点击事件就挂了...版主可以给一个类似的切换示例嘛?
因为我尝试了几次菜单栏点击时在menu.js ...

[attach]11342[/attach]
1 修改你的方法,初次new生成menu,后面点击头部菜单就用loadData来加载数据,而不是重新创建
2 修改menu.js内loadData方法
  loadData: function (data) {
        this.options.data = data || [];
        this.refresh();
        this._idHash = null;
    },

前面写错了,这里应该是直接null清空



作者: darren丶csl    时间: 2018-9-14 17:25:58

dforce 发表于 2018-9-14 16:55
1 修改你的方法,初次new生成menu,后面点击头部菜单就用loadData来加载数据,而不是重新创建
2 修改men ...

首先感谢版主大大的耐心解释及示例。
这种方法可以解决菜单栏加载问题。
但是只有初次加载的系统可以单击加载出Tab页,切换至其它系统时则获取不到item对象
作者: dforce    时间: 2018-9-14 17:35:49

本帖最后由 dforce 于 2018-9-14 17:37 编辑

[attach]11343[/attach]
darren丶csl 发表于 2018-9-14 17:25
首先感谢版主大大的耐心解释及示例。
这种方法可以解决菜单栏加载问题。
但是只有初次加载的系统可以单击 ...

可以获取到item对象的啊,itemclick里面我打印了item,切换菜单都是可以获取的。
作者: darren丶csl    时间: 2018-9-14 17:43:24

dforce 发表于 2018-9-14 17:35
可以获取到item对象的啊,itemclick里面我打印了item,切换菜单都是可以获取的。 ...

我把我这边的替换成了你的,还是不行哎,难道是menu.js不一样吗好纳闷
作者: dforce    时间: 2018-9-14 17:49:27

darren丶csl 发表于 2018-9-14 17:43
我把我这边的替换成了你的,还是不行哎,难道是menu.js不一样吗好纳闷

[attach]11344[/attach]
运行里面的main.htm测试。。。



作者: darren丶csl    时间: 2018-9-14 20:45:46

dforce 发表于 2018-9-14 17:49
运行里面的main.htm测试。。。

版主大大,真滴不行的,你用的应该是UC浏览器或者其他的,你用的这个你点到第一个系统,你会发现也是undefined
我用的是火狐,真滴不行
作者: dforce    时间: 2018-9-17 09:31:35

darren丶csl 发表于 2018-9-14 20:45
版主大大,真滴不行的,你用的应该是UC浏览器或者其他的,你用的这个你点到第一个系统,你会发现也是unde ...

[attach]11346[/attach]测试过ff了,肯定可以的。那我们这唯一不同就是miniui.js,你可以引用我们在线的js看一下
<script src="http://www.miniui.com/scripts/boot.js" type="text/javascript"></script>


作者: darren丶csl    时间: 2018-9-18 09:38:51

dforce 发表于 2018-9-17 09:31
测试过ff了,肯定可以的。那我们这唯一不同就是miniui.js,你可以引用我们在线的js看一下

非常感谢耐心解释




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2