天天看点

【斗医】【7】Web应用开发20天

现在想想一下首页放置哪些内容?由于该web应用的聚集点在“斗”上,也就是对医术的探讨方面,个人认为应该是对展示较新的或评价较好的病症药方的展示方面。这里包含两部分:(1)数据的获取,即动态读取较好或评价较好的药方数据;(2)页面的展示,即静态页面布局和数据显示。

五、斗医系统首页

关于系统的目录规划在上文中已说明:module放置功能页面;js放置功能脚本;theme放置样式文件。

1、在d:\medical\war\module\main下创建main.html文件

(1)为便于搜索引擎查询,在main.html中填写如下内容:

1

2

<code>&lt;</code><code>meta</code> <code>name</code><code>=</code><code>"description"</code> <code>content</code><code>=</code><code>"斗医是一个医学交流平台"</code> <code>/&gt;</code>

<code>&lt;</code><code>meta</code> <code>name</code><code>=</code><code>"keywords"</code> <code>content</code><code>=</code><code>"医学,交流,讨论"</code> <code>/&gt;</code>

(2)html页面不缓存,每次数据都重新从服务端读取,在main.html中填写如下内容:

3

<code>&lt;</code><code>meta</code> <code>http-equiv</code><code>=</code><code>"pragma"</code> <code>content</code><code>=</code><code>"no-cache"</code> <code>/&gt;</code>

<code>&lt;</code><code>meta</code> <code>http-equiv</code><code>=</code><code>"cache-control"</code> <code>content</code><code>=</code><code>"no-cache,must-revalidate"</code> <code>/&gt;</code>

<code>&lt;</code><code>meta</code> <code>http-equiv</code><code>=</code><code>"expires"</code> <code>content</code><code>=</code><code>"wed, 26 feb 1997 08:21:57 gmt"</code> <code>/&gt;</code>

(3)设置页面编码为utf-8,在main.html中填写如下内容:

<code>&lt;</code><code>meta</code> <code>http-equiv</code><code>=</code><code>"content-type"</code> <code>content</code><code>=</code><code>"text/html;charset=utf-8"</code> <code>/&gt;</code>

(4)为了在main.html页面显示导航菜单,需要把上节的common.js引进过来,同时由于common.js依赖于jquery.js和navigation.css,所以在引common.js之前引入jquery.js、navigation.css,在main.html中填写如下内容:

<code>&lt;</code><code>link</code> <code>rel</code><code>=</code><code>"stylesheet"</code> <code>type</code><code>=</code><code>"text/css"</code> <code>href</code><code>=</code><code>"theme/navigation/navigation.css"</code><code>&gt;</code>

<code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"js/common/jquery.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"js/common/common.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

(5)在d:\medical\war\js\main下生成main.html的动作交互文件main.js,并在main.html中引入此文件:

<code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"js/main/main.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

在main.html页面加载完之后,使用main.js把全局系统菜单绑定到id为system_navigation_menu的&lt;div&gt;块上,在main.js中填写如下内容:

4

5

6

<code>(</code><code>function</code><code>( window){</code>

<code>    </code><code>$(document).ready(</code><code>function</code><code>()</code>

<code>    </code><code>{</code>

<code>        </code><code>generatesystemmenu();</code>

<code>    </code><code>});</code>

<code>})( window );</code>

(6)为main.html定义id为system_navigation_menu的&lt;div&gt;,在其中填写如下内容:

7

<code>&lt;</code><code>body</code><code>&gt;</code>

<code>    </code><code>&lt;!--系统导航菜单--&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>id</code><code>=</code><code>"system_navigation_menu"</code><code>&gt;&lt;/</code><code>div</code><code>&gt;</code>

<code>    </code><code>&lt;!--系统内容部分--&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"system_content"</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>&lt;/</code><code>body</code><code>&gt;</code>

【斗医】【7】Web应用开发20天

若没有出现,请仔细阅读前面几章相关联的内容,或者在下面给我留言。

2、设置“首页”菜单被选中

(1)修改common.js的generatesystemmenu()方法,为菜单的&lt;li&gt;标签指定id,其部分内容如下:

<code>systemmenu += '&lt;</code><code>li</code> <code>id</code><code>=</code><code>"system_home_menu"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;首页&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;';</code>

<code>systemmenu += '&lt;</code><code>li</code> <code>id</code><code>=</code><code>"system_expert_menu"</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;专家&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;';</code>

<code>......</code>

<code>systemmenu += 'div class="system_menu_user_wrapper" id="system_login_menu"&gt;';</code>

(2)在common.js中增加selectsystemmenu(menuid)方法

8

9

10

11

12

13

14

15

16

17

18

<code>/**</code>

<code> </code><code>* 设置指定的菜单项被选中</code>

<code> </code><code>*/</code>

<code>function</code> <code>selectsystemmenu(menuid)</code>

<code>{</code>

<code>    </code><code>var</code> <code>menuarray = </code><code>new</code> <code>array(</code><code>"system_home_menu"</code><code>, </code><code>"system_expert_menu"</code><code>, </code><code>"system_login_menu"</code><code>);</code>

<code>    </code><code>for</code><code>(</code><code>var</code> <code>i = 0; i &lt; menuarray.length; i++)</code>

<code>        </code><code>if</code><code>(menuarray[i] == menuid)</code>

<code>        </code><code>{</code>

<code>            </code><code>$(</code><code>"#"</code> <code>+ menuarray[i]).css({</code><code>"background-color"</code><code>: </code><code>"#ff901d"</code><code>});</code>

<code>        </code><code>}</code>

<code>        </code><code>else</code>

<code>            </code><code>$(</code><code>"#"</code> <code>+ menuarray[i]).css({</code><code>"background-color"</code><code>: </code><code>""</code><code>});</code>

<code>    </code><code>}</code>

<code>}</code>

(3)在main.js中调用selectsystemmenu()方法

<code>        </code><code>// 生成系统菜单</code>

<code>        </code><code>// 设置"首页"菜单选中</code>

<code>        </code><code>selectsystemmenu(</code><code>"system_home_menu"</code><code>);</code>

【斗医】【7】Web应用开发20天

3、补充navigation.css样式

因为当鼠标放置到用户名或头像上时,它的下拉菜单“主页”、“设置”和“退出”并没有显示出来。当然使用js也可以控制其显示,这里使用css样式来控制。在navigation.css中增加下面内容:

<code>.system_menu_user:hover .system_menu_user_setting{</code>

<code>    </code><code>display</code><code>: </code><code>block</code><code>;</code>

它的意思是说当鼠标放置在用户名或头像上时,它下层的子菜单项所对应的div就显示出来,效果如下:

【斗医】【7】Web应用开发20天

4、定义公共页面内容样式

一般的页面框架都都分为左右两部分或者左中右三部分,该系统的页面我想这样安排内容:左侧放置主题,右侧放置用户相关信息和系统动态。

(1)在main.html中追加如下内容:

<code>&lt;!--系统内容部分--&gt;</code>

<code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"system_content"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"system_content_left"</code><code>&gt;xxxxx</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"system_content_right"</code><code>&gt;yyy         </code>

<code>&lt;/</code><code>div</code><code>&gt;</code>

(2)在navigation.css中追加如下内容:

<code>.system_content{</code>

<code>    </code><code>width</code><code>: </code><code>1000px</code><code>;</code>

<code>    </code><code>margin</code><code>: </code><code>0</code> <code>auto</code><code>;</code>

<code>    </code><code>clear</code><code>: </code><code>both</code><code>;</code>

<code>    </code><code>background-color</code><code>: </code><code>blue</code><code>;</code>

<code>.system_content_left, .system_content_right{</code>

<code>    </code><code>float</code><code>: </code><code>left</code><code>;</code>

<code>    </code><code>margin-top</code><code>: </code><code>0px</code><code>;</code>

<code>.system_content_left{</code>

<code>   </code><code>width</code><code>: </code><code>660px</code><code>;</code>

<code>                                                                                                                                                                                                                                                                                                                                        </code> 

<code>.system_content_right{</code>

<code>    </code><code>width</code><code>: </code><code>330px</code><code>;</code>

<code>    </code><code>margin-left</code><code>: </code><code>8px</code><code>;</code>

【备注】:上面的css样式之所以放在navigation.css文件中,是因为想把这些样式全局使用

5、定义主页面左侧内容

(1)左侧内容效果图:

【斗医】【7】Web应用开发20天

(2)为了快速完成效果图,个人建议先在main.html中直接定义标签

19

20

21

22

23

24

25

26

27

28

29

30

31

<code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_item_icon"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_content"</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_wrapper"</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_title"</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;头病发热的中医药方&lt;/</code><code>a</code><code>&gt;</code>

<code>            </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_time"</code><code>&gt;2013年11月19日</code>

<code>        </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>label</code> <code>class</code><code>=</code><code>"main_item_author"</code><code>&gt;陈许诺,</code>

<code>            </code><code>&lt;/</code><code>label</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>label</code> <code>class</code><code>=</code><code>"main_item_nickname"</code><code>&gt;中医拯救人类</code>

<code>            </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_substance"</code><code>&gt;</code>

<code>                </code><code>红糖30克、鲜姜、红枣30克。以水三碗煎至过半,顿服,服后出微汗即愈。驱风散寒</code>

<code>            </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_item_attach"</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_item_attention"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;关注&lt;/</code><code>a</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_item_discuss"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;20人评论&lt;/</code><code>a</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_item_share"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;分享&lt;/</code><code>a</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_item_collection"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;收藏&lt;/</code><code>a</code><code>&gt;</code>

(3)定义css样式

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

<code>/*************************************************************************/</code>

<code>/*                               主页记录项样式                          */</code>

<code>.main_item + .main_item{</code>

<code>    </code><code>border-top</code><code>: </code><code>1px</code> <code>solid</code> <code>#ccc</code><code>;</code>

<code>.main_item_icon{</code>

<code>    </code><code>width</code><code>: </code><code>48px</code><code>;</code>

<code>    </code><code>height</code><code>: </code><code>48px</code><code>;</code>

<code>    </code><code>background-image</code><code>: </code><code>url</code><code>(./main.png);</code>

<code>.main_item_content{</code>

<code>    </code><code>width</code><code>: </code><code>600px</code><code>;</code>

<code>    </code><code>margin-left</code><code>: </code><code>58px</code><code>;</code>

<code>.main_item_wrapper{</code>

<code>    </code><code>/*清除孩子浮动对父div产生的影响*/</code>

<code>    </code><code>overflow</code><code>: </code><code>hidden</code><code>;</code>

<code>/*                               标题和日期样式                          */</code>

<code>.main_item_title, .main_item_time{</code>

<code>    </code><code>height</code><code>: </code><code>25px</code><code>;</code>

<code>    </code><code>line-height</code><code>: </code><code>25px</code><code>;</code>

<code>.main_item_title{</code>

<code>    </code><code>left</code><code>: </code><code>0px</code><code>; </code>

<code>.main_item_title a{</code>

<code>    </code><code>color</code><code>: </code><code>#259</code><code>;</code>

<code>    </code><code>font-size</code><code>: </code><code>15px</code><code>;</code>

<code>    </code><code>font-weight</code><code>: </code><code>bold</code><code>;</code>

<code>.main_item_time{</code>

<code>    </code><code>float</code><code>: </code><code>right</code><code>;</code>

<code>    </code><code>right</code><code>: </code><code>0px</code><code>;</code>

<code>    </code><code>color</code><code>: </code><code>#999</code><code>;</code>

<code>    </code><code>font-size</code><code>: </code><code>13px</code><code>;</code>

<code>/*                            作者、昵称、内容样式                       */</code>

<code>.main_item_author, .main_item_nickname{</code>

<code>    </code><code>font-size</code><code>: </code><code>14px</code><code>;</code>

<code>.main_item_substance{</code>

<code>    </code><code>line-height</code><code>: </code><code>1.7</code><code>;</code>

<code>    </code><code>color</code><code>: </code><code>#222</code><code>;</code>

<code>/*                               附属内容样式                            */</code>

<code>.main_item_attach, .main_item_attach *{</code>

<code>    </code><code>height</code><code>: </code><code>30px</code><code>;</code>

<code>    </code><code>line-height</code><code>: </code><code>30px</code><code>;</code>

<code>.main_item_attach span, .main_item_attach a{</code>

<code>    </code><code>margin-right</code><code>: </code><code>10px</code><code>;</code>

<code>.main_item_attach a:hover{</code>

<code>    </code><code>color</code><code>: </code><code>#698ebf</code><code>;</code>

<code>.main_item_attention, .main_item_discuss, .main_item_share, .main_item_collection{</code>

<code>    </code><code>background-image</code><code>: </code><code>url</code><code>(../navigation/navigation.png);</code>

<code>    </code><code>background-repeat</code><code>: </code><code>no-repeat</code><code>;</code>

<code>    </code><code>width</code><code>: </code><code>9px</code><code>;</code>

<code>    </code><code>height</code><code>: </code><code>9px</code><code>;</code>

<code>    </code><code>margin-right</code><code>: </code><code>3px</code><code>;</code>

<code>    </code><code>/*使图片显示出来*/</code>

<code>    </code><code>display</code><code>: inline-</code><code>block</code><code>;</code>

<code>.main_item_attention{</code>

<code>    </code><code>background-position</code><code>: </code><code>-97px</code> <code>-23px</code><code>;</code>

<code>.main_item_discuss{</code>

<code>    </code><code>background-position</code><code>: </code><code>-28px</code> <code>-22px</code><code>;</code>

<code>.main_item_share{</code>

<code>    </code><code>width</code><code>: </code><code>11px</code><code>;</code>

<code>    </code><code>background-position</code><code>: </code><code>-67px</code> <code>-22px</code><code>;</code>

<code>.main_item_collection{</code>

<code>    </code><code>width</code><code>: </code><code>7px</code><code>;</code>

<code>    </code><code>background-position</code><code>: </code><code>-56px</code> <code>-22px</code><code>;</code>

(4)删除掉main.html示例内容

把第(2)步中的html示例内容删除掉,改为使用js动态生成

【备注】:由于js生成内容时,需要从服务端读取数据,由于服务端处理还有写逻辑,所以这里暂时不实现,会在下一文实现

6、定义主页面右侧内容

(1)右侧内容效果

【斗医】【7】Web应用开发20天

(2)在main.html中定义如下内容:

<code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"system_content_right"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"main_user_wrapper"</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>ul</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;能量币:200&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;智慧币:300&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;等级:副院长&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>        </code><code>&lt;/</code><code>ul</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_user_medical"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;&lt;</code><code>label</code><code>&gt;我的药方&lt;/</code><code>label</code><code>&gt;&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_user_favority"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;&lt;</code><code>label</code><code>&gt;我的收藏&lt;/</code><code>label</code><code>&gt;&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_user_answer"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;&lt;</code><code>label</code><code>&gt;我的回答&lt;/</code><code>label</code><code>&gt;&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;&lt;</code><code>i</code> <code>class</code><code>=</code><code>"main_user_message"</code><code>&gt;&lt;/</code><code>i</code><code>&gt;&lt;</code><code>label</code><code>&gt;我的消息&lt;/</code><code>label</code><code>&gt;&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

(3)在main.css中定义如下内容:

<code>.main_user_wrapper{</code>

<code>    </code><code>margin-left</code><code>: </code><code>20px</code><code>;</code>

<code>    </code><code>padding-left</code><code>: </code><code>10px</code><code>;</code>

<code>.main_user_wrapper + .main_user_wrapper{</code>

<code>.main_user_wrapper li{</code>

<code>    </code><code>cursor</code><code>: </code><code>pointer</code><code>;</code>

<code>.main_user_wrapper li:hover{</code>

<code>    </code><code>background-color</code><code>: </code><code>#ff901d</code><code>;</code>

<code>.main_user_wrapper a{</code>

<code>.main_user_wrapper a:hover{</code>

<code>.main_user_wrapper label{</code>

<code>.main_user_medical, .main_user_favority, .main_user_answer, .main_user_message{</code>

<code>    </code><code>width</code><code>: </code><code>14px</code><code>;</code>

<code>    </code><code>height</code><code>: </code><code>14px</code><code>;</code>

<code>    </code><code>vertical-align</code><code>: </code><code>-2px</code><code>;</code>

<code>.main_user_medical{</code>

<code>    </code><code>background-position</code><code>: </code><code>-217px</code> <code>-3px</code><code>;</code>

<code>.main_user_favority{</code>

<code>    </code><code>background-position</code><code>: </code><code>-167px</code> <code>-4px</code><code>;</code>

<code>.main_user_answer{</code>

<code>    </code><code>background-position</code><code>: </code><code>-200px</code> <code>-4px</code><code>;</code>

<code>.main_user_message{</code>

<code>    </code><code>background-position</code><code>: </code><code>-251px</code> <code>-4px</code><code>;</code>

【备注】:对于一些常见的css样式,建议多看一些别人网站,记住其用法,如上面css样式的.main_user_wrapper + .main_user_wrapper就意味着两个class之间样式的定义。

这里把主页内容如何显示的样式和内容的大体设置出来了,但数据都是假数据,下文就涉及到数据库连接,及如何把数据从服务端读到客户端并展示。

继续阅读