阿里百秀主題項目——后臺頁面功能實現(xiàn)

效果圖:

首頁效果
評論頁效果圖

功能實現(xiàn):

一则剃、驗證用戶登錄狀態(tài):

首頁:用原生js代碼實現(xiàn)ajax方法接口調(diào)用茵肃,get方式直接獲取數(shù)據(jù)诉儒,根據(jù)返回的值判斷用戶的登錄狀態(tài)

關鍵點: 如果需要頁面打開立刻執(zhí)行某些代碼,就需要把代碼放在最上面淆衷,而且不依賴jQuery等任何的js文件(用原生js寫)缸榄。

? ??位置置頂:將js代碼放在最后,按照代碼由上到下的執(zhí)行順序吭敢,會先加載首頁頁面碰凶,再驗證是否登錄暮芭,如果沒有登錄鹿驼,會立即閃現(xiàn)到登錄頁面,有 “閃屏的現(xiàn)象”辕宏。所以畜晰,將代碼放在頁面頂端,先行驗證瑞筐,如果沒有登錄直接就進到登錄頁面凄鼻,不會加載首頁頁面。

? ??用原生js寫ajax:為了解決閃屏問題聚假,使用原生js實現(xiàn)功能块蚌,不依賴任何js文件,并且需要將ajax設置為同步執(zhí)行(ajax默認是異步執(zhí)行膘格,不會阻塞頁面代碼的加載)峭范,這樣的好處是會阻塞后面代碼的執(zhí)行,即:按照代碼順序瘪贱,先執(zhí)行驗證代碼纱控,再執(zhí)行頁面加載。

二菜秦、 實現(xiàn)用戶登錄功能:

登錄頁面
ajax方法調(diào)用接口甜害,post方式傳出用戶數(shù)據(jù)并接收返回數(shù)據(jù),提取的值進行判斷球昨,執(zhí)行報錯或跳轉頁面

關鍵點:【dataType:'JSON'】

? ? 在調(diào)用接口時尔店,要注意返回數(shù)據(jù)的格式,打印回調(diào)函數(shù)接收到的被返回的數(shù)據(jù),如果數(shù)據(jù)的類型是字符串嚣州,需要將返回的值轉換成json格式期犬,因為在函數(shù)中判斷信息時用到了返回的status的值,轉換成json格式才能用點方法得到避诽,不轉換就會得到undefined龟虎。

? ? 在回調(diào)函數(shù)前將數(shù)據(jù)類型轉換成json格式,添加【dataType:'JSON'】沙庐。

三鲤妥、個人中心頁-用戶登出功能

登錄后跳轉到個人中心頁面
點擊頁面上的退出選項,將瀏覽器內(nèi)保存用戶信息的session數(shù)據(jù)刪除拱雏,跳轉到登錄頁面棉安,實現(xiàn)登出功能

關鍵點:阻止a標簽的默認行為

? ??退出選項使用的a標簽,在點擊a標簽時铸抑,a標簽默認會有一個跳轉的行為贡耽,如果目標位置為空,就會刷新一下頁面(閃一下)鹊汛。為了讓頁面不刷新蒲赂,就需要阻止a標簽的默認行為,在點擊事件里面加上 “event.preventDefault()”或者 “return false”刁憋,

1.event.stopPropagation()方法

這是阻止事件的冒泡方法滥嘴,不讓事件向document上蔓延,但是默認事件任然會執(zhí)行至耻,當你掉用這個方法的時候若皱,如果點擊一個連接,這個連接仍然會被打開尘颓,

2.event.preventDefault()方法

這是阻止默認事件的方法走触,調(diào)用此方法是,連接不會被打開疤苹,但是會發(fā)生冒泡互广,冒泡會傳遞到上一層的父元素;

3.return false ?痰催;

這個方法比較暴力兜辞,他會同事阻止事件冒泡也會阻止默認事件;寫上此代碼夸溶,連接不會被打開逸吵,事件也不會傳遞到上一層的父元素;可以理解為return false就等于同時調(diào)用了event.stopPropagation()和event.preventDefault()

四缝裁、獲取當前登錄的用戶信息

用get方式獲取當前登錄的用戶信息扫皱,并渲染到個人中心頁面上

關鍵點:多個頁面共用的信息足绅,封裝成函數(shù)以便于引入頁面

? ? 因為用戶信息會在評論、文章等多個頁面出現(xiàn)韩脑,為了便于引入并渲染到頁面氢妈,封裝成函數(shù),保存到一個共用的js文件段多,需要時直接引入到頁面首量。

五、獲取網(wǎng)站信息

用get方式獲取當前的網(wǎng)站信息进苍,并渲染到個人中心頁面上

關鍵點:選擇器與數(shù)據(jù)的對應

? ? 此處易錯加缘,因為網(wǎng)站上的數(shù)據(jù)較多,需要做對應的處理觉啊,先打印服務器返回的數(shù)據(jù)拣宏,并且需要注意選擇器的選用,要將數(shù)據(jù)一一對應渲染到正確的地方杠人。

jQuery 遍歷 - eq() 方法

eq() 方法將匹配元素集縮減值指定 index 上的一個勋乾。 .eq(index),index是整數(shù)嗡善,指示元素的位置(最小為 0)辑莫。如果是負數(shù),則從集合中的最后一個元素往回計數(shù)滤奈。例如: $('li').eq(2).css('background-color', 'red');

請注意摆昧,index 是基于零的撩满,并且是在 jQuery 對象中引用元素的位置蜒程,而不是在 DOM 樹中。 如果無法根據(jù)指定的 index 參數(shù)找到元素伺帘,則該方法構造帶有空集的 jQuery 對象昭躺,length 屬性為 0。

六伪嫁、獲取評論信息

引用模板引擎领炫,設置評論模板

關鍵點:模板引擎插入規(guī)則與if、else判斷

需要先打印ajax獲取到的數(shù)據(jù)张咳,根據(jù)后臺返回的數(shù)據(jù)結構將數(shù)據(jù)對應的鍵插入到模板中帝洪。并且,在模板中也可以插入if脚猾、else判斷語句葱峡,可以根據(jù)返回的數(shù)據(jù)做判斷,并顯示對應的結果到頁面龙助,不符合的判斷條件的不會被渲染顯示砰奕。

封裝查詢數(shù)據(jù)的函數(shù),調(diào)用接口(上)

關鍵點:模板引擎的調(diào)用與頁面的渲染,分頁信息的設置

通過控制臺打印查看后臺返回的數(shù)據(jù)军援,通過模板引擎的ID引用模板引擎仅淑,并直接渲染到頁面上。

在這里的ajax中需要設置返回的數(shù)據(jù)胸哥,圖中的 pageSize 設置了返回一頁信息的條數(shù)涯竟,pageNum則根據(jù)分頁信息動態(tài)生成,以控制頁面上要顯示哪一頁對應的信息空厌。

封裝查詢數(shù)據(jù)的函數(shù)昆禽,執(zhí)行回調(diào)函數(shù),渲染頁面(下)??

關鍵點:分頁管理數(shù)據(jù)

因為返回的數(shù)據(jù)較多蝇庭,需要進行分頁管理醉鳖,通過改變變量 pageNum 的值,來改變頁面上渲染的數(shù)據(jù)哮内。這里設置了頁碼的顯示為5頁盗棵,添加了首頁和尾頁的功能,需要注意的是頁碼的顯示北发,為了更好的用戶體驗纹因,做了一些判斷。(用上分頁插件后琳拨,腰不酸了瞭恰,腿也不疼了……)

評論頁面,頁碼功能的實現(xiàn)(上)

關鍵點:頁碼點擊事件

此處有用到not 方法狱庇;如果給定一個表示 DOM 元素集合的 jQuery 對象惊畏,.not() 方法會用匹配元素的子集構造一個新的 jQuery 對象。所應用的選擇器會檢測每個元素密任;不匹配該選擇器的元素會被包含在結果中颜启。

評論頁面,頁碼功能的實現(xiàn)(下)

關鍵點:高亮頁碼顯示

為了提高用戶體驗浪讳,針對特殊的情況缰盏,在最開始的5頁與最后的5頁需要做一個頁碼顯示的判斷。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淹遵,一起剝皮案震驚了整個濱河市口猜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌透揣,老刑警劉巖济炎,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淌实,居然都是意外死亡冻辩,警方通過查閱死者的電腦和手機猖腕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恨闪,“玉大人倘感,你說我怎么就攤上這事×剩” “怎么了老玛?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钧敞。 經(jīng)常有香客問我蜡豹,道長,這世上最難降的妖魔是什么溉苛? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任镜廉,我火速辦了婚禮,結果婚禮上愚战,老公的妹妹穿的比我還像新娘娇唯。我一直安慰自己,他們只是感情好寂玲,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布塔插。 她就那樣靜靜地躺著,像睡著了一般拓哟。 火紅的嫁衣襯著肌膚如雪想许。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天断序,我揣著相機與錄音流纹,去河邊找鬼。 笑死逢倍,一個胖子當著我的面吹牛捧颅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播较雕,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挚币!你這毒婦竟也來了亮蒋?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤妆毕,失蹤者是張志新(化名)和其女友劉穎慎玖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笛粘,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡趁怔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年湿硝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片润努。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡关斜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铺浇,到底是詐尸還是另有隱情痢畜,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布鳍侣,位于F島的核電站丁稀,受9級特大地震影響,放射性物質發(fā)生泄漏倚聚。R本人自食惡果不足惜线衫,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惑折。 院中可真熱鬧桶雀,春花似錦、人聲如沸唬复。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敞咧。三九已至棘捣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間休建,已是汗流浹背乍恐。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留测砂,地道東北人茵烈。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像砌些,于是被迫代替她去往敵國和親呜投。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355