使用javascript控制cookie顯示和隱藏背景圖
每當(dāng)重大節(jié)日期間,各大主流網(wǎng)站首頁會(huì)披上節(jié)日的盛裝,設(shè)計(jì)者一般會(huì)使用大幅背景圖片來獲得更好的視覺沖擊效果,當(dāng)然,也要考慮到有些用戶不習(xí)慣這大背景圖,那么在背景圖上放置“關(guān)閉”按鈕是有必要的,用戶只要點(diǎn)擊“關(guān)閉背景”按鈕,大幅背景圖將會(huì)消失。
我們使用javascript來控制背景圖片的顯示和隱藏,當(dāng)點(diǎn)擊關(guān)閉按鈕時(shí),控制CSS使頁面不加載背景圖,同時(shí)記錄COOKIE相關(guān)參數(shù),并設(shè)置cookie的有效期,那么在cookie有效期內(nèi)刷新頁面,是不會(huì)再加載背景圖的,如果cookie失效,則又會(huì)重新加載背景圖片。
HTML
一般背景圖片的關(guān)閉按鈕都是放在頁面頭部的,我們在頁面的頂部放置關(guān)閉背景的按鈕,當(dāng)然這個(gè)按鈕是做好的圖片。
<div id="top">
<em id="close_btn" title="關(guān)閉背景"></em>
</div>
CSS
還需要準(zhǔn)備大背景圖片,我們從網(wǎng)上找張大背景圖拿來用,用CSS做簡單的頁面布局。
*{margin:0; padding:0}
body{font:12px/18px "Microsoft Yahei",Tahoma,Arial,Verdana,"\5b8b\4f53", sans-serif;}
#top{clear:both;width:1000px;height:60px;margin:0 auto;overflow:hidden;position:relative;}
#close_btn{width:60px;height:20px;position:absolute;right:0;bottom:25px;cursor:pointer;
display:block;z-index:2;}
部署完了css后,頁面還沒有什么效果,我們需要使用javascript來加載背景圖片。
Javascript
當(dāng)?shù)谝淮渭虞d頁面時(shí)(這時(shí)還沒有設(shè)置cookie等),當(dāng)然要把背景圖片加載,顯示完整的頁面效果。當(dāng)我們點(diǎn)擊“關(guān)閉”按鈕時(shí),這個(gè)時(shí)候Javascript會(huì)把頁面已經(jīng)加載的背景圖片干掉,即不顯示出來,并且設(shè)置cookie,通過cookie的過期時(shí)間來控制大背景圖片是否顯示。即當(dāng)下次刷新頁面時(shí),如果cookie未過期,則不會(huì)加載大背景圖片,反之則加載大背景圖片,請看代碼:
$(function(){
if(getCookie("mainbg")==0){
$("body,html").css("background","none");
$("#close_btn").hide();
}else{
$("body").css("background","url(images/body_bg.jpg)) no-repeat 50% 0");
$("html").css("background","url(images/html_bg.jpg) repeat-x 0 0");
$("#close_btn").show().css("background","url(images/close_btn.jpg) no-repeat");
}
//點(diǎn)擊關(guān)閉
$("#close_btn").click(function(){
$("body,html").css("background","none");
$("#close_btn").hide();
setCookie("mainbg","0");
});
})
很顯然,我們是通過設(shè)置頁面元素的CSS背景background屬性來控制背景圖的加載,并且通過getCookie()和setCookie()兩個(gè)自定義函數(shù)來讀取和設(shè)置cookie的。
//設(shè)置cookie
function setCookie(name,value){
var exp = new Date();
exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小時(shí)
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
//取cookies函數(shù)
function getCookie(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
- 一個(gè)可以得到元素真實(shí)的背景顏色的javascript腳本
- javascript背景時(shí)鐘實(shí)現(xiàn)方法
- javascript隨機(jī)顯示背景圖片的方法
- JavaScript讓網(wǎng)頁出現(xiàn)漸隱漸顯背景顏色的方法
- JavaScript動(dòng)態(tài)修改背景顏色的方法
- javascript實(shí)現(xiàn)隨時(shí)變化著的背景顏色
- JavaScript生成的動(dòng)態(tài)下雨背景效果實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)更改網(wǎng)頁背景與字體顏色的方法
- Javascript簡單改變表單元素背景的方法
相關(guān)文章
JS實(shí)現(xiàn)頁面跳轉(zhuǎn)鏈接的幾種方式匯總
這篇文章主要介紹了JS實(shí)現(xiàn)頁面跳轉(zhuǎn)鏈接的幾種方式,簡單總結(jié)了幾種頁面跳轉(zhuǎn)功能的實(shí)現(xiàn),有使用js跳轉(zhuǎn)頁面,返回上一次預(yù)覽界面及button按鈕添加事件跳轉(zhuǎn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-01-01JavaScript?對象新增方法defineProperty與keys的使用說明
這篇文章主要介紹了JavaScript對象新增方法defineProperty與keys的使用說明,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09用Javascript實(shí)現(xiàn)Windows任務(wù)管理器的代碼
在Windows系統(tǒng)上,自從98系統(tǒng)以來就提供了腳本宿主(Windows Scripting Host 簡稱WSH)的功能,WSH可以加載并運(yùn)行JS和VBS腳本,并支持調(diào)用系統(tǒng)的COM組件,在COM組件的支持下腳本可以輕松實(shí)現(xiàn)非常強(qiáng)大的功能2012-03-03微信小程序適配iphoneX的實(shí)現(xiàn)方法
這篇文章主要介紹了微信小程序適配iphoneX的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09javascript中substring()、substr()、slice()的區(qū)別
在js中字符截取函數(shù)有常用的三個(gè)slice()、substring()、substr()了,下面我來給大家介紹slice()、substring()、substr()函數(shù)在字符截取時(shí)的一些用法與區(qū)別吧。2015-08-08JS實(shí)現(xiàn)的Object數(shù)組去重功能示例【數(shù)組成員為Object對象】
這篇文章主要介紹了JS實(shí)現(xiàn)的Object數(shù)組去重功能,可實(shí)現(xiàn)針對數(shù)組成員為Object對象的去重復(fù)功能,涉及javascript數(shù)組元素遍歷、屬性判斷等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02