JQuery实现个性化,可以拖拽 自定义自己的界面(三)
2010-07-17 00:01
555 查看
上次说数据库表的设计;今天我主要介绍主要js函数;共感兴趣的读者参考。
1.GetUser函数; 获取用户信息;在这里我想说的是匿名用户的处理;正常登陆网站的用户,我们可以从库里读取到信息,主要及时显示几个Tab; 至于有多少个
widget,呵呵,我认为那不是GetUser应该做的,每一个Tab应该知道自己有几个Widget,以及显示在什么位置;呵呵扯远了。 回正题匿名用户的处理,很简单那就是
cookie,我想igoogle以及其他的一些著名网站也是这么做的。把匿名用户在首页上做的设置存放到cookie里,也就是说打开首页,首先检查是不是登陆用户,如果是显示我们存放到库里的信息,如果不是看看有没有cookie信息,如果还没有那就给他个默认信息好了;
代码
1 function SortAction(event,ui,eventName)
2 {
3 switch(eventName)
4 {
5 case "update":
6 WidgetUpdate(event,ui);
7 break;
8 }
9 }
10
11 /**
12 更新widget的列和该列的位置
13 */
14 function WidgetUpdate(event,ui)
15 {
16 var widgetIndex = [];
17
18 var currentWidgetID = ui.item.find('.Widget_Head').attr('widgetid');//获得当前的widgetID
19
20 var targetColumnID = event.target.id;//获得当前的列ID
21
22 var columnID = targetColumnID.substring(targetColumnID.length-1,targetColumnID.length);//去掉#column 保留整数1
23
24 var liQuery = $("#" + targetColumnID + " li").filter('.Widget_Main');//获得该列的所有li 包括父级元素ul
25
26 var tabID = $(".default_Tabs_Checked").attr("tabid");
27
28 liQuery.each(function(){
29
30 var widget = {};
31
32 widget.ID = $(this).find('.Widget_Head').attr('widgetid');
33
34 widgetIndex.push(widget);
35 });
36
37 var obj = "";
38
39 for(var m=widgetIndex.length-1;m>=0;m--)
40 {
41 obj = widgetIndex[m].ID + "|" + obj;
42 }
43
44 if(obj != "")
45 {
46 var parms = "allWidgetID="+obj+"&columnID="+columnID+"¤tWidgetID="+currentWidgetID+"&tabID="+tabID;
47
48 $.ajax({
49
50 url : "Service/DropWidget.ashx",
51
52 type : "POST",
53
54 data : parms,
55
56 success:function(returnXml){}
57
58 });//end ajax
59 }//end if
60 }
61
不贴了,这只是部分函数,算是主要的吧;其他根据我们的需要还可能会添加很多;主要是理清思路吧。呵呵使用jquery可以很方便的帮我们实现一些功能。
如果大家有不清楚的地方,欢迎和我沟通。呵呵 谢谢你抽出时间看这篇文章。
Demo:http://xiaoguan1985.36jhw.dnscnc.com/
1.GetUser函数; 获取用户信息;在这里我想说的是匿名用户的处理;正常登陆网站的用户,我们可以从库里读取到信息,主要及时显示几个Tab; 至于有多少个
widget,呵呵,我认为那不是GetUser应该做的,每一个Tab应该知道自己有几个Widget,以及显示在什么位置;呵呵扯远了。 回正题匿名用户的处理,很简单那就是
cookie,我想igoogle以及其他的一些著名网站也是这么做的。把匿名用户在首页上做的设置存放到cookie里,也就是说打开首页,首先检查是不是登陆用户,如果是显示我们存放到库里的信息,如果不是看看有没有cookie信息,如果还没有那就给他个默认信息好了;
代码
1 function SortAction(event,ui,eventName)
2 {
3 switch(eventName)
4 {
5 case "update":
6 WidgetUpdate(event,ui);
7 break;
8 }
9 }
10
11 /**
12 更新widget的列和该列的位置
13 */
14 function WidgetUpdate(event,ui)
15 {
16 var widgetIndex = [];
17
18 var currentWidgetID = ui.item.find('.Widget_Head').attr('widgetid');//获得当前的widgetID
19
20 var targetColumnID = event.target.id;//获得当前的列ID
21
22 var columnID = targetColumnID.substring(targetColumnID.length-1,targetColumnID.length);//去掉#column 保留整数1
23
24 var liQuery = $("#" + targetColumnID + " li").filter('.Widget_Main');//获得该列的所有li 包括父级元素ul
25
26 var tabID = $(".default_Tabs_Checked").attr("tabid");
27
28 liQuery.each(function(){
29
30 var widget = {};
31
32 widget.ID = $(this).find('.Widget_Head').attr('widgetid');
33
34 widgetIndex.push(widget);
35 });
36
37 var obj = "";
38
39 for(var m=widgetIndex.length-1;m>=0;m--)
40 {
41 obj = widgetIndex[m].ID + "|" + obj;
42 }
43
44 if(obj != "")
45 {
46 var parms = "allWidgetID="+obj+"&columnID="+columnID+"¤tWidgetID="+currentWidgetID+"&tabID="+tabID;
47
48 $.ajax({
49
50 url : "Service/DropWidget.ashx",
51
52 type : "POST",
53
54 data : parms,
55
56 success:function(returnXml){}
57
58 });//end ajax
59 }//end if
60 }
61
不贴了,这只是部分函数,算是主要的吧;其他根据我们的需要还可能会添加很多;主要是理清思路吧。呵呵使用jquery可以很方便的帮我们实现一些功能。
如果大家有不清楚的地方,欢迎和我沟通。呵呵 谢谢你抽出时间看这篇文章。
Demo:http://xiaoguan1985.36jhw.dnscnc.com/
相关文章推荐
- JQuery实现个性化,可以拖拽 自定义自己的界面(一)
- JQuery实现个性化,可以拖拽 自定义自己的界面(四)
- JQuery实现个性化,可以拖拽 自定义自己的界面(二)
- jQuery实现页面模块拖拽与模块自定义效果.rar
- js,jQuery实现拖拽自定义移动端板块,web移动端开发
- 利用jquery插件中的拖拽与放置实现的相册效果,可以删除和恢复
- 自己实现vector,对于自定义类型可用,可以实现vector的嵌套。功能上目前只实现了插入和删除。
- Android 打造自己的个性化应用(四):仿墨迹天气实现-->自定义扩展名的zip格式的皮肤
- 利用5个标签,4个文本框,2个按钮,自己设计布局实现输入三边求三角形面积。界面如下所示。三角形类的编写可以使用实验4中已经写过的三角形类,当点击“判断三边”时,若能构成三角形,在标签5上显示“可以构成三角形!”,如不能构成三角形,在标签5上显示“不能构成三
- Java开发中网页截图的示例,采用jquery.imageaeraselect-0.9.10这个插件实现,自己详细测试过,可以使用。
- TreeSet集合存放自定义类型的对象,可以使用比较器,实现Comparable接口自己设置排序方式
- Android 打造自己的个性化应用(四):仿墨迹天气实现-->自定义扩展名的zip格式的皮肤
- Jquery实现自定义窗口随意的拖拽
- 在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。
- easysize的使用方法 (实现控件大小位置随界面变化而有相应的变化,这个变化可以自己设置)
- jquery网页层拖动实例,保存可以自己实现
- Android 打造自己的个性化应用(四):仿墨迹天气实现-->自定义扩展名的zip格式的皮肤
- jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
- Jquery实现自定义窗口随意的拖拽
- jquery +jquery.tablesorter+jquery.tablednd_0_5实现table表格可按行拖拽,按列排序,并可以保存排序后的结果