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

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