使用javascript控制cookie顯示和隱藏背景圖
每當重大節(jié)日期間,各大主流網站首頁會披上節(jié)日的盛裝,設計者一般會使用大幅背景圖片來獲得更好的視覺沖擊效果,當然,也要考慮到有些用戶不習慣這大背景圖,那么在背景圖上放置“關閉”按鈕是有必要的,用戶只要點擊“關閉背景”按鈕,大幅背景圖將會消失。
我們使用javascript來控制背景圖片的顯示和隱藏,當點擊關閉按鈕時,控制CSS使頁面不加載背景圖,同時記錄COOKIE相關參數(shù),并設置cookie的有效期,那么在cookie有效期內刷新頁面,是不會再加載背景圖的,如果cookie失效,則又會重新加載背景圖片。
HTML
一般背景圖片的關閉按鈕都是放在頁面頭部的,我們在頁面的頂部放置關閉背景的按鈕,當然這個按鈕是做好的圖片。
<div id="top">
<em id="close_btn" title="關閉背景"></em>
</div>
CSS
還需要準備大背景圖片,我們從網上找張大背景圖拿來用,用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
當?shù)谝淮渭虞d頁面時(這時還沒有設置cookie等),當然要把背景圖片加載,顯示完整的頁面效果。當我們點擊“關閉”按鈕時,這個時候Javascript會把頁面已經加載的背景圖片干掉,即不顯示出來,并且設置cookie,通過cookie的過期時間來控制大背景圖片是否顯示。即當下次刷新頁面時,如果cookie未過期,則不會加載大背景圖片,反之則加載大背景圖片,請看代碼:
$(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");
}
//點擊關閉
$("#close_btn").click(function(){
$("body,html").css("background","none");
$("#close_btn").hide();
setCookie("mainbg","0");
});
})
很顯然,我們是通過設置頁面元素的CSS背景background屬性來控制背景圖的加載,并且通過getCookie()和setCookie()兩個自定義函數(shù)來讀取和設置cookie的。
//設置cookie
function setCookie(name,value){
var exp = new Date();
exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小時
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;
}
相關文章
JavaScript?對象新增方法defineProperty與keys的使用說明
這篇文章主要介紹了JavaScript對象新增方法defineProperty與keys的使用說明,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09用Javascript實現(xiàn)Windows任務管理器的代碼
在Windows系統(tǒng)上,自從98系統(tǒng)以來就提供了腳本宿主(Windows Scripting Host 簡稱WSH)的功能,WSH可以加載并運行JS和VBS腳本,并支持調用系統(tǒng)的COM組件,在COM組件的支持下腳本可以輕松實現(xiàn)非常強大的功能2012-03-03javascript中substring()、substr()、slice()的區(qū)別
在js中字符截取函數(shù)有常用的三個slice()、substring()、substr()了,下面我來給大家介紹slice()、substring()、substr()函數(shù)在字符截取時的一些用法與區(qū)別吧。2015-08-08JS實現(xiàn)的Object數(shù)組去重功能示例【數(shù)組成員為Object對象】
這篇文章主要介紹了JS實現(xiàn)的Object數(shù)組去重功能,可實現(xiàn)針對數(shù)組成員為Object對象的去重復功能,涉及javascript數(shù)組元素遍歷、屬性判斷等相關操作技巧,需要的朋友可以參考下2019-02-02