HTML網(wǎng)頁中無刷新的更換CSS樣式
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-17 19:28:08 作者:佚名
我要評論

系統(tǒng)原來的更換CSS模板是要重新刷新一下兒頁面的,我一直都對這個功能很不滿意,百分之九十五的功能都用AJAX無刷新的實現(xiàn)了,難道要在這個小小的更換頁面CSS模板上給用戶添點惡心嗎?于是,昨天晚上好好考慮了這個功能上的實現(xiàn),原來發(fā)現(xiàn)其實并不難,小改一下就OK了,現(xiàn)在
系統(tǒng)原來的更換CSS模板是要重新刷新一下兒頁面的,我一直都對這個功能很不滿意,百分之九十五的功能都用AJAX無刷新的實現(xiàn)了,難道要在這個小小的更換頁面CSS模板上給用戶添點惡心嗎?于是,昨天晚上好好考慮了這個功能上的實現(xiàn),原來發(fā)現(xiàn)其實并不難,小改一下就OK了,現(xiàn)在系統(tǒng)上的模板更換是不用刷新頁面來完成的,明顯在感覺上比原來好得多了,下面談?wù)劷?jīng)驗吧:
對于一個多頁面的網(wǎng)站來說了,CSS的更換不能只簡單的在一個頁面中調(diào)用更換CSS功能更新這個頁面頭上鏈接的CSS地址,因為它不能保證在點擊了別的頁面后新的樣式應(yīng)該到新打開的頁面中去,因此,一定要有一個全局性的變量來記錄它,我選用的是SESSION,在用戶點擊了側(cè)邊模板下拉框中的模板時,觸發(fā)了下拉框的ONCHANGE事件,執(zhí)行了一段AJAX程序,程序的功能是將用戶選中的模板信息發(fā)送給服務(wù)器,服務(wù)器接收新的模板信息后更新表示模板的SESSION值,然后向客戶端返回成功信息,客戶端則根據(jù)返回的成功信息來改變頁面樣式,注意:我在頁面頭中寫的CSS鏈接信息是這樣子的:
<LINK id=cssLink href="css.aspx" type=text/css rel=stylesheet>
css.aspx是一個ASP.net的頁面,它的作用只是單一的根據(jù)SESSION中的當(dāng)前CSS模板信息來轉(zhuǎn)向所應(yīng)CSS樣式表文件!這樣子的處是客戶端在接收到了服務(wù)器端成功更新SESSION的信息后剛不用考慮其它的東西,直接一句:
document.getElementById("cssLink").href=document.getElementById("cssLink").href;
將cssLink的href重新寫一下兒,雖然是前后一模一樣子的值,但這會激發(fā)CSS.ASPX頁面重新讀一下兒,這樣子CSS.ASPX頁面就能轉(zhuǎn)到新更新的CSS樣式表了!由于網(wǎng)站別的頁面的樣式表鏈接信息都是這樣寫的,所以每個頁面加載時都是會應(yīng)用最新更新的樣式表的,這樣子,網(wǎng)站無刷新的全局更新樣式表就實現(xiàn)了??!
相關(guān)文章
- Ajax局部刷新可以通過HTML5的新特性修改browser address,下面為大家介紹下具體的實現(xiàn),希望對大家有所幫助2014-01-15
詳解HTML5之pushstate、popstate操作history,無刷新改變當(dāng)前url
這篇文章主要介紹了HTML5之pushstate、popstate操作history,無刷新改變當(dāng)前url的相關(guān)資料,需要的朋友可以參考下2017-03-15- 本文主要給大家分享HTML5無刷新改變當(dāng)前url的代碼,需要的的朋友參考下2017-03-15
- 使用ajax實現(xiàn)表單提交無刷新頁面在項目中經(jīng)常會用到。前一段時間跟著師傅學(xué)到了另外幾種無刷新提交表單的方法,主要是基于iframe框架實現(xiàn)的?,F(xiàn)在小編整理特此分享腳本之家2016-04-05
HTML5 History API 實現(xiàn)無刷新跳轉(zhuǎn)
有一次在上**網(wǎng)的時候,發(fā)現(xiàn)登陸、注冊動畫效果非常華麗,但讓我感到震驚的是頁面竟能夠?qū)崿F(xiàn)無刷新跳轉(zhuǎn),回顧了所學(xué)的前端知識,似乎沒有任何技術(shù)可以實現(xiàn)這一點,于是百度2016-01-11- 這個仿163網(wǎng)盤無刷新文件上傳系統(tǒng),并沒有用使用控件,完全的手工制作。 本來覺得這個系統(tǒng)會很復(fù)雜,但把每個部分都分析清楚后,其實需要的技術(shù)并不高。不過當(dāng)我把各個功2008-11-10
- 這篇文章主要介紹了HTML5實現(xiàn)無刷新修改URL的方法,需要的朋友可以參考下2019-11-14