近期网站要做一个支持自定义模块的应用。
主要功能有:
拖拽排序布局、添加和删减版块(前端即时呈现,即时生效),设置关注球员或者球队
交互操作包括页面直接拖拽删减操作 和 新闻版块管理弹窗增删查询操作。每一步操作都即时反馈生效。
其实自定义模块的WEB应用也是屡见不鲜,比如myYahoo 和 有道资讯等等,个人认为此类的功能复杂,操作繁琐,用户体验不佳且消耗资源。开发成本高,使用率低。但是工作需要还是认真实践了一下。
主要的实践经验就是各个交互操作中,无论是拖拽排序,还是后台增删,都即时用一个统一的变量来保存版块序列。该变量[数组]作为前台表现 和 后台状态纪录的唯一标准。这样即使是较多的操作层面和步骤,都可以保持清晰的逻辑顺序。
//模块排序数组 全局变量保存。
var sortList =[];
//版块加载完毕后 初始化序列数组
sortList = (function(){
var ary = [],mods = exMods;
$.each(mods,function(i){
ary.push($(this).attr('id'));
});
return ary;
sortList = (function(){
var ary = [],mods = exMods;
$.each(mods,function(i){
ary.push($(this).attr('id'));
});
return ary;