+ -
当前位置:首页 → 问答吧 → [散分讨论]页面上多个功能模块隐现、排序如何实现

[散分讨论]页面上多个功能模块隐现、排序如何实现

时间:2011-11-28

来源:互联网

各位大牛门,小弟今天被人问了一个问题,不知怎么回答,希望各位能参与讨论。

如果一个页面上有 A, B, C, D, E, F 几个功能模块,并按此顺序排列,并且每个功能模块上都有一个小“X”,点击后可关闭该功能(即不显示),关闭后也可再将它打开。现有一用户登陆后,关闭 B, E 两个功能,剩下 A, C, D, F 功能;随后又将功能的显示顺序改为 D, A, F, C。当些用户下次登陆时,能够按照他之前的设定显示:D, A, F, C。

小弟之前的想法是:给每个功能设定一个状态值,当用户关闭(或开启)某功能时,将此状态值改变,然后在页面上进行判断是否显示。这样,当用户下次登陆时也可以根据状态值来显示。

但这样做带来了两个问题:
1.页面上虽然能判断显示,但是 A, B, C, D, E, F 各个功能模块的代码都还在页面上(有没有某种方式能够只有显示的代码,不显示的功能代码也不在页面上出现);
2.不能进行排序(这是基本要求的功能)。

希望各位大牛们能说出自己的看法,就算只是某个局部的想法也好!

希望能够在大家的意见中整合出一个比较好的方法。

作者: mu_wangyue   发布时间: 2011-11-28

引用
但这样做带来了两个问题:
1.页面上虽然能判断显示,但是 A, B, C, D, E, F 各个功能模块的代码都还在页面上(有没有某种方式能够只有显示的代码,不显示的功能代码也不在页面上出现);
2.不能进行排序(这是基本要求的功能)。


问题1方案. 想要页面上不显示被关闭功能的代码。。剩下就是js中或者后台中。
a。如在js中,那可以通过页面引入js文件(此js文件中包含了动态构造页面所有模块,包括从后台取数据和布局),这样能屏蔽各模块代码。。
b。如在后台,那将所有的动态构造全部放在封装在类中,前台通过js来判断。。

问题2方案.  
将模块名称A,B,C,D...放入一个二维数组(二维数组第一维:模块名称,第二维:状态[是否关闭])进行排序。。每次关闭或者开启某个模块 ,都调用排序方法依照二维数组中第二维:状态为开启的数据第一维模块名称 来排序,然后再调用问题1中的方案有序的动态构造。。出来的就是排序好的了。。。

作者: kouyiSC   发布时间: 2011-11-28

热门下载

更多